Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify app using redirect-then-cache interceptors with shared cache
-
DeliveryPoint a trusted URL's redirect at attacker-controlled origin
-
ExploitTrigger request so response caches under original trusted key
-
ExecutionLater callers served poisoned/private cached response
-
ImpactPersistent cache poisoning and private-data disclosure
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
|
| Exploitation Conditions | Exploitable ONLY when all three conditions hold simultaneously in the target application: (1) an originless undici Agent is used, (2) a shared cache store is configured, and (3) the redirect interceptor is composed BEFORE the cache interceptor. Additionally, the attacker must control the target of a redirect originating from a URL the application already trusts. These are non-default, opt-in configuration choices, which is the primary factor limiting real-world exploitation despite the network attack vector and lack of authentication. Exploitation is prevented by the documented workarounds (compose cache before redirect, use per-origin dispatchers and cache stores, or disable shared caching on redirect-capable requests) or by upgrading to undici 7.30.1 / 8.12.2 or later. |
| Impact | This is a genuine but conditionally-exploitable issue rather than a drop-everything priority. The CVSS vector (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N, 7.4 HIGH) correctly captures the shape: remotely reachable (AV:N), no authentication needed by the attacker (PR:N), no victim interaction (UI:N), but HIGH attack complexity (AC:H) because exploitation depends on a specific, non-default interceptor composition in the target application. The HIGH confidentiality and integrity impacts are justified - cache poisoning (integrity: serving attacker content under a trusted URL) and private-data disclosure (confidentiality: a user-specific response served to a later unauthenticated caller) are both described. No EPSS score, KEV entry, or POC was provided in the input, so exploitation probability signals are absent. There is no public exploit identified at time of analysis, and undici is NOT in CISA KEV. The signals are internally consistent - there is no network-vs-local or auth conflict to flag. The dominant risk-limiting factor is not the CVSS metrics but the exploitation precondition: the flaw only manifests when an originless Agent, a shared cache store, and the redirect-then-cache interceptor ordering are all present simultaneously, which is an opt-in configuration a minority of undici deployments will have. Treat as a priority patch for applications known to use undici's cache + redirect interceptors with shared caching; routine for everyone else. |
| Exploit ScenarioDerived | An application uses an originless undici Agent that composes the redirect interceptor followed by the cache interceptor over a shared cache store. An unauthenticated attacker who controls the destination of a redirect from a trusted URL causes undici to cache the attacker's cross-origin response under the original trusted key, so subsequent callers requesting the trusted URL are served poisoned content; the same key confusion can also persist a private per-user redirect response and later return it to a different, unauthenticated caller. No public exploit code was identified at time of analysis, and the high attack complexity reflects the required vulnerable interceptor composition. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Cache poisoning and private-data disclosure in undici affect versions 7.0.0 through 7.30.0 and 8.0.0 through 8.12.1 when an originless Agent, a shared cache store, and a redirect-before-cache interceptor composition are all present. A remote unauthenticated attacker who controls the target of a redirect from a trusted URL can have the redirected response stored under the original trusted URL, causing persistent cache poisoning or exposure of user-specific private data to later callers. This is a conditionally exploitable, non-default configuration issue rather than a drop-everything priority; no public exploit identified at time of analysis, and vendor fixes are available in undici 7.30.1 and 8.12.2.
RemediationAI
Upgrade to undici 7.30.1 or 8.12.2 or later, as these versions verify that the producing origin still matches the cache key and preserve each redirect hop's cache-control policy before storing. If upgrading is not immediately possible, use one of the documented workarounds: compose the cache interceptor before the redirect interceptor, which changes the interceptor ordering assumptions and may affect applications relying on the current hook order; use per-origin dispatchers and cache stores, which adds configuration and resource overhead and reduces cross-origin cache sharing; or disable shared caching on redirect-capable requests, which avoids the key-confusion path at the cost of losing caching performance for those requests. Vendor advisory URLs for verification are https://github.com/nodejs/undici/security/advisories/GHSA-4w7w-5xrc-9h26 and https://cna.openjsf.org/security-advisories.html.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is CWE-346 (Origin Validation Error) in undici, the HTTP client library for Node.js. When an originless Agent composes the redirect interceptor before the cache interceptor with a shared cache store, the cache builds its key from the original request URL before the redirect handler changes the origin. As a result, a response produced after a cross-origin redirect is stored under the original key, and the same key confusion can store a private, non-stored redirect response to a user-specific resource under the original URL for later retrieval. The affected product is undici, represented by CPE cpe:2.3:a:undici:undici:*:*:*:*:*:*:*:*, with exploitable versions 7.0.0 through 7.30.0 and 8.0.0 through 8.12.1. Exploitation requires all three non-default conditions simultaneously: an originless undici Agent, a shared cache store, and redirect interceptor composed before cache interceptor; the attacker must also control the target of a redirect originating from a URL the application already trusts. The vendor advisory is GHSA-4w7w-5xrc-9h26, published via the OpenJS CNA.
Know when Undici gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Remotely reachable with no auth (AV:N/PR:N/UI:N), but AC:H because it requires a specific non-default interceptor composition plus attacker control of a trusted redirect; C:H/I:H from disclosure and cache poisoning, no availability impact.
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
Lifecycle Timeline
2DescriptionCVE.org
undici is an HTTP client library for Node.js. In versions 7.0.0 through 7.30.0 and 8.0.0 through 8.12.1, when an originless Agent composes the redirect and cache interceptors in that order with a shared cache store, the cache builds its key from the original request URL before the redirect handler changes the origin, so a response produced after a cross-origin redirect is stored under the original key. An attacker who controls the target of a redirect from a trusted URL can have their response cached under that trusted URL and served to later callers, allowing persistent cache poisoning, and the same key confusion lets a private, non-stored redirect response to a user-specific resource be stored under the original URL and served to a later unauthenticated caller, disclosing private data. Applications are affected only when an originless Agent, a shared cache store, and the redirect-then-cache composition are all used. The issue is fixed in undici 7.30.1 and 8.12.2, which verify the producing origin still matches the cache key and preserve each redirect hop's cache-control policy before storing, and users should upgrade to one of those versions or later. As a workaround, compose the cache interceptor before the redirect interceptor, use per-origin dispatchers and cache stores, or disable shared caching on redirect-capable requests.
Technical POC Analysis
Bug class: CWE-346 (Origin Validation Error), also classified CWE-524 (Use of Cache Containing Sensitive Information).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A configuration-dependent flaw in undici, the HTTP client library used by Node.js services, can let an attacker who controls a redirect target store a malicious response under a trusted URL and expose one caller's private data to others using the same process. Only services that simultaneously use an originless Agent, a shared cache store, and a redirect-before-cache interceptor are exposed, so the majority of deployments are not affected - but those that are could see persistent cross-user data disclosure or corrupted cached responses. Leadership should care because the risk is to customer-specific data and cached content integrity in affected Node.js services, and remediation requires a library upgrade rather than a configuration toggle alone.
Apply vendor patch (7.30.1 / 8.12.2 as referenced in the advisory context - structured patch data is inconsistent, confirm with vendor). Interim mitigations until upgraded: remove the shared cache store, disable or omit the redirect-before-cache interceptor, refrain from caching responses obtained via redirects, and isolate caches per origin or per tenant.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
undici is an HTTP/1.1 client, written from scratch for Node.js.`undici` is vulnerable to SSRF (Server-side Request Forge
Memory exhaustion denial of service in the undici WebSocket client (versions 6.17.0 and later) allows a malicious or com
Cross-user information disclosure in undici's cache interceptor allows authenticated users' responses to be served from
Cookie attribute injection in undici's setCookie function allows attacker-controlled domain values or unparsed array ent
Authorization headers are cleared on cross-origin redirect. Rated medium severity (CVSS 6.5), this vulnerability is remo
`Undici.ProxyAgent` never verifies the remote server's certificate, and always exposes all request & response data to th
CRLF injection in undici's HTTP/1.1 dispatcher enables HTTP header injection and potential request smuggling when applic
Undici is an HTTP/1.1 client for Node.js. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable,
undici is an HTTP/1.1 client, written from scratch for Node.js.`=< undici@5.8.0` users are vulnerable to _CRLF Injection
Cross-user information disclosure and a parse-time denial of service in undici's HTTP cache interceptor affect versions
TLS certificate validation bypass in undici's BalancedPool dispatcher silently discards function-valued options - includ
Cross-origin request misrouting in undici's Socks5ProxyAgent (introduced in 7.23.0, affecting all releases through 8.1.0
EUVD-2026-102309
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB