undici: custom TLS certificate checks silently skipped in Agent
If your app uses a custom rule to check which servers it trusts, that rule can be quietly ignored. A fake server with a certificate that passes normal checks could then be accepted by mistake.
| Severity | HighCVSS 7.4 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | Yes6.29.1, 7.30.1, 8.12.2 · since 27 Oct 2026 |
| How sure is this? | Official sourceBacked by an official source |
How the attack works simplified
- 1Impostor serverPresents a certificate that passes default checks
- 2Network pathAttacker intercepts the connection
- 3Agent connectsCustom checkServerIdentity callback is dropped
- 4Trust check skippedPinning rule never runs
- ResultImpostor server is silently accepted
What happened
In undici's Agent, a function-valued tls option such as checkServerIdentity is dropped by a JSON deep clone before reaching the TLS layer, so custom certificate or public-key pinning callbacks are not enforced.
Are you affected?
You are affected if you use undici Agent (or EnvHttpProxyAgent) with a function-valued tls option, such as a custom checkServerIdentity, in versions >= 4.0.0 < 6.29.1, >= 7.0.0 < 7.30.1, or >= 8.0.0 < 8.12.2.
| Package / product | Affected versions | Fixed in |
|---|---|---|
| undici · npm | >= 4.0.0, < 6.29.1 | 6.29.1 |
| undici · npm | >= 7.0.0, < 7.30.1 | 7.30.1 |
| undici · npm | >= 8.0.0, < 8.12.2 | 8.12.2 |
What to do
- Update undici to 6.29.1, 7.30.1, or 8.12.2 (whichever matches your major version)
- If you cannot update yet, pass TLS options through connect instead of tls
- For EnvHttpProxyAgent proxied destinations, use requestTls / proxyTls
Timeline
- 27 Oct 2026, 19:02 UTCPublicly disclosed
- 27 Oct 2026, 19:02 UTCReported by GitHub Advisory · GitHub Advisory
- 27 Oct 2026, 19:02 UTCPicked up by Zero Radar
Sources 1 report, oldest first
Official vendor, government CERT or advisory database
- undici vulnerable to TLS certificate validation bypass via dropped tls options in AgentGitHub Advisory · 27 Oct 2026, 19:02 UTC
Technical details
- ID
- CVE-2026-109383 · GHSA-2m5v-pch6-74hx
- CVSS
- 7.4 / 10
- EPSS
- 0.2% chance of exploitation within 30 days
- Disclosed
- 27 Oct 2026, 19:02 UTC
- On Zero Radar
- 27 Oct 2026, 19:02 UTC (1 min after disclosure)
- Last change
- 27 Oct 2026, 19:02 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works