undici HTTP client can cache redirected responses under the wrong address
If an app uses this HTTP library with a shared cache and follows redirects, a response from a different site can be saved under a trusted address. Later users may then receive that wrong or private content.
| Severity | HighCVSS 7.4 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | Yesundici 7.30.1 and 8.12.2 · since 27 Oct 2026 |
| How sure is this? | Official sourceBacked by an official source |
How the attack works simplified
- 1Attacker controls redirectRedirect from trusted URL points to attacker server
- 2Redirect followedClient follows redirect to a different origin
- 3Cache key uses original URLResponse stored under the trusted URL key
- 4Later caller requests trusted URLGets cached content without contacting either origin
- ResultAttacker content served under trusted URL
What happened
In undici's originless Agent, compose(redirect(), cache()) with a shared cache builds the cache key from the original URL before redirects change the origin, so redirected responses (including private/no-store ones) are stored under the original key.
Are you affected?
You are affected if you use undici 7.0.0 up to (not including) 7.30.1, or 8.0.0 up to (not including) 8.12.2, with an originless Agent, a shared MemoryCacheStore or SqliteCacheStore, and compose(redirect(), cache()).
| Package / product | Affected versions | Fixed in |
|---|---|---|
| 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
- Upgrade undici to 7.30.1 (7.x line) or 8.12.2 (8.x line)
- If you cannot upgrade, compose the interceptors as compose(cache(), redirect()) instead
- Alternatively, use per-origin dispatchers and cache stores, or disable shared caching on redirect-capable requests
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 cache poisoning and cross-user disclosure via cross-origin redirectsGitHub Advisory · 27 Oct 2026, 19:02 UTC
Technical details
- ID
- CVE-2026-109829 · GHSA-4w7w-5xrc-9h26
- CVSS
- 7.4 / 10
- EPSS
- 0.1% chance of exploitation within 30 days
- Disclosed
- 27 Oct 2026, 19:02 UTC
- On Zero Radar
- 27 Oct 2026, 19:02 UTC (0 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