Impact
undici, the HTTP client library for Node.js, contains a flaw that allows cache poisoning and cross‑user disclosure when an originless Agent processes redirects before caching. The vulnerability is present in versions 7.0.0 to 7.30.0 and 8.0.0 to 8.12.1 that use a shared cache store with the redirect‑then‑cache interceptor order. A malicious redirect target can cause responses from the attacker to be cached under a trusted URL, then served to other users. Additionally, private user‑specific responses that are not normally cached can be stored under the original key and exposed to unauthenticated callers. The flaw involves mismatched origin control (CWE‑346) and cache key collision (CWE‑524).
Affected Systems
The issue affects any Node.js application that imports undici between version 7.0.0 and 7.30.0 or between 8.0.0 and 8.12.1 and that configures an originless Agent, a shared cache store, and a redirect‑then‑cache interceptor chain. Applications that use a more recent undici release (7.30.1 or 8.12.2 or newer) are not vulnerable because the fix verifies the origin before caching and preserves redirect cache‑control policies.
Risk and Exploitability
The CVSS score of 7.4 indicates a severity of high, and the moderate score suggests that the vulnerability can be exploited over the network. EPSS is not available, and the issue is not listed in CISA KEV, implying that there have been no confirmed public exploits. Attackers would need to control a redirect target originating from a trusted application and have the application perform a redirect‑then‑cache sequence with a shared cache store. If successful, a persistent cache poisoned entry could serve attacker data to multiple users, and private, non‑cached responses could leak sensitive information to unauthenticated users.
OpenCVE Enrichment
Github GHSA