CVE-2026-109383: undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent
undici’s Agent passes its constructor options through a JSON-based deep clone (JSON.parse(JSON.stringify(...))) before forwarding them to each per-origin Pool. JSON cannot represent functions, so 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 when the request is made through Agent. Because Agent is the default dispatcher behind request, fetch, and setGlobalDispatcher, this is the path most applications use. EnvHttpProxyAgent is also affected on its direct and NO_PROXY routes, which delegate to an internal Agent.
Only applications that pass a function-valued tls option (such as a custom checkServerIdentity for certificate or public-key pinning) are affected. Passing the same options through connect is not affected. This is the Agent counterpart of the BalancedPool certificate validation bypass fixed in CVE-2026-84961.
References
- cna.openjsf.org/security-advisories.html
- github.com/advisories/GHSA-2m5v-pch6-74hx
- github.com/nodejs/undici/commit/04cb74b1db131ff8f5b4557dce811cbf5f4664b4
- github.com/nodejs/undici/commit/8c59f6b302898cb2e9b0f7962cd7212b6e597c9f
- github.com/nodejs/undici/commit/f75eac00ac177f7b2e6c8bfbd52d4113164286e6
- github.com/nodejs/undici/releases/tag/v6.29.1
- github.com/nodejs/undici/releases/tag/v7.30.1
- github.com/nodejs/undici/releases/tag/v8.12.2
- github.com/nodejs/undici/security/advisories/GHSA-2m5v-pch6-74hx
- nvd.nist.gov/vuln/detail/CVE-2026-109383
Code Behaviors & Features
Detect and mitigate CVE-2026-109383 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →