undici vulnerable to cross-user information disclosure via whitespace around equals in Cache-Control directives
Affects undiciSource GCVE Database
Mentioned vulnerabilities
Not known to be exploited · CVSS 5.9 Medium : upgrade to 7.29.0 when convenient.
Data as of 1 Nov 2026, 22:58 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 33% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 7.29.0, 8.9.0
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:NExploitation evidence
Disclosed: evidence found.
CVE published 3 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 1 Nov 2026.
What to do
Upgrade undici to 7.29.0; undici to 8.9.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| npmundici | Affected
| Fixed in
|
| npmundici | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
## Impact Undici's cache interceptor mishandles optional whitespace (OWS) placed around the `=` of a qualified `no-cache` or `private` Cache-Control directive, such as `no-cache ="authorization"` (OWS before `=`) or `no-cache= "authorization"` (OWS after `=`). The parser either drops the directive entirely or stores a field name with literal quote characters, so the downstream cache decisions do not recognize the qualification and the response is stored. In shared-cache mode, this allows a response containing one user's authenticated data to be served from cache to a subsequent caller, including an unauthenticated caller, when both requests resolve to the same cache key. The impact class is identical to CVE-2026-9678 (GHSA-pr7r-676h-xcf6); this advisory covers the whitespace-around-`=` bypass that the earlier fix did not normalize. Affected applications are those that explicitly enable the cache interceptor (`interceptors.cache()`) in shared mode, forward `Authorization` headers upstream, and receive cacheable responses with qualified `private` or `no-cache` directives whose field-name list is padded with OWS around the `=`. ## Patches Upgrade to undici v7.29.0 or v8.9.0. ## Workarounds If upgrade is not immediately possible, disable shared-cache mode for traffic that includes `Authorization` headers, avoid caching responses to authenticated requests, or add `Vary: Authorization` upstream.
References
- github.com/nodejs/undici/security/advisories/GHSA-jr45-8vmc-qm54 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-14643 (opens in a new tab)
- github.com/nodejs/undici/commit/85a240551c9feb8b8a0ecc56c84b2b3015add8a9 (opens in a new tab)
- github.com/nodejs/undici/commit/cb105d7c79069150982fa11acada0dd94a60dbbc (opens in a new tab)
- cna.openjsf.org/security-advisories.html (opens in a new tab)
- github.com/nodejs/undici (opens in a new tab)
- github.com/nodejs/undici/releases/tag/v7.29.0 (opens in a new tab)
- github.com/nodejs/undici/releases/tag/v8.9.0 (opens in a new tab)