CVE-2026-109383
validatedZero produced an exploit or a check.GHSA-2m5v-pch6-74hx ↗EUVD-2026-102314 ↗
description
Affected undici releases can omit custom TLS certificate-verification callbacks when requests use Agent, including the default dispatcher path. A peer rejected by application-specific validation may be accepted if it passes Node.js default certificate and hostname checks. Exposure requires an application to provide a function-valued tls option, such as certificate or public-key pinning.
mitigation
Upgrade undici to 6.29.1, 7.30.1, 8.12.2, or a later applicable release. Until upgraded, supply TLS options through connect rather than tls; for proxied destinations, use requestTls and proxyTls.
fixed in 6.29.1, 7.30.1, 8.12.2
outcome
Contextual check: a technique exists and was validated, but no deterministic check could cover this one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-10-15 18:34Zghsa: trigger signal, started the run
- 2026-10-15 18:34Zcve.org record for CVE-2026-109383
this entry in the feed
GET /api/v1/feed/CVE-2026-109383
{ "etk_id": "ETK-2026-2625", "cve_id": "CVE-2026-109383", "display_id": "CVE-2026-109383", "ghsa_id": "GHSA-2m5v-pch6-74hx", "euvd_id": "EUVD-2026-102314", "status": "published", "anchor_state": "anchored", "title": "TLS certificate validation bypass in undici Agent", "summary": "Affected undici releases can omit custom TLS certificate-verification callbacks when requests use Agent, including the default dispatcher path. A peer rejected by application-specific validation may be accepted if it passes Node.js default certificate and hostname checks. Exposure requires an application to provide a function-valued tls option, such as certificate or public-key pinning.", "mitigation": "Upgrade undici to 6.29.1, 7.30.1, 8.12.2, or a later applicable release. Until upgraded, supply TLS options through connect rather than tls; for proxied destinations, use requestTls and proxyTls.", "vendor": "nodejs", "product": "npm:undici", "affected": [ { "affected_notes": [], "affected_ranges": [ ">= 4.0.0, < 6.29.1" ], "ecosystem": "npm", "fixed_versions": [ "6.29.1" ], "package_name": "undici", "purl": "pkg:npm/undici" }, { "affected_notes": [], "affected_ranges": [ ">= 7.0.0, < 7.30.1" ], "ecosystem": "npm", "fixed_versions": [ "7.30.1" ], "package_name": "undici", "purl": "pkg:npm/undici" }, { "affected_notes": [], "affected_ranges": [ ">= 8.0.0, < 8.12.2" ], "ecosystem": "npm", "fixed_versions": [ "8.12.2" ], "package_name": "undici", "purl": "pkg:npm/undici" } ], "cwes": [ 295 ], "cvss_score": 7.4, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "contextual", "check": true, "check_confidence_basis": "assessed", "exploit": false, "pipeline_minutes": 8.9818957, "t0_at": "2026-10-15T18:34:01.468000+00:00", "signals": { "check": { "at": "2026-10-26T04:31:08.195561+00:00", "days": 10.414661198622685, "is_lower_bound": false, "measured_at": "2026-10-15T18:34:01.468000+00:00", "url": null }, "trigger_signal": { "at": "2026-10-15T18:34:01.468000+00:00", "days": 0, "is_lower_bound": false, "measured_at": "2026-10-15T18:34:01.468000+00:00", "url": "https://github.com/nodejs/undici/security/advisories/GHSA-2m5v-pch6-74hx" } } }
published 2026-10-26 04:22Z
last change 2026-10-26 09:21Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.