CVE-2026-109383
Received Received - Intake

Security Bypass in Undici HTTP Client Library

Vulnerability report for CVE-2026-109383, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-15

Last updated on: 2026-10-15

Assigner: openjs

Description

undici is an HTTP client library for Node.js. In versions 4.0.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, its Agent dispatcher passes its constructor options through a JSON-based deep clone before forwarding them to each per-origin pool, and because JSON cannot represent functions, a caller-supplied tls option containing a checkServerIdentity callback is silently dropped before it reaches the TLS layer. As a result, a TLS peer whose certificate a custom checkServerIdentity was written to reject, but which passes Node's default hostname and chain checks, is silently accepted. Because Agent is the default dispatcher behind request, fetch, and setGlobalDispatcher, this affects the path most applications use, and EnvHttpProxyAgent is affected on its direct and no-proxy routes as well, while only applications that pass a function-valued tls option such as a custom checkServerIdentity for certificate or public-key pinning are at risk. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, which preserve the tls option outside the JSON clone so custom verification callbacks are forwarded unchanged, and users should upgrade to one of those versions or later. As a workaround, pass the TLS options through connect instead of tls, or for proxied destinations use requestTls and proxyTls.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-15
Last Modified
2026-10-15
Generated
2026-10-16
AI Q&A
2026-10-15
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
undici undici 4.0.0
undici undici 7.0.0
undici undici 8.0.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-295 The product does not validate, or incorrectly validates, a certificate.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects the undici library, a Node.js HTTP client. When using versions 4.0.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, the Agent component passes constructor options through a JSON-based deep clone. This process removes function-valued TLS options, such as a custom checkServerIdentity callback, before they reach the TLS layer. As a result, invalid certificates that would normally be rejected by the custom callback are accepted if they pass Node.js's default checks.

Detection Guidance

To detect this vulnerability, check the version of the undici library in your Node.js project using 'npm list undici' or 'npm ls undici'. If the version is between 4.0.0-6.29.0, 7.0.0-7.30.0, or 8.0.0-8.12.1, the system is vulnerable. Additionally, review application code for usage of custom checkServerIdentity callbacks passed via TLS options.

Impact Analysis

This vulnerability allows a remote attacker to bypass TLS certificate validation. If an application uses a custom checkServerIdentity callback to reject certain certificates, those checks are silently ignored. This could lead to man-in-the-middle attacks, exposing sensitive data or allowing unauthorized access to systems.

Mitigation Strategies

Immediately upgrade the undici library to version 6.29.1, 7.30.1, or 8.12.2 or later. As a temporary workaround, pass TLS options through connect instead of tls, or use requestTls and proxyTls for proxied destinations.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-109383. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart