Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessControl upstream or MITM response
-
DeliveryTarget app pinning mixed-case SRI token
-
ExploitServe tampered response body
-
ExecutionUndici skips unrecognized algorithm
-
PersistIntegrity check silently passes
-
ImpactAttacker bytes accepted by application
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Case sensitivity handling
|
| Exploitation Conditions | Exploitation requires that the application call undici's fetch() with Subresource Integrity metadata whose algorithm token is NOT all-lowercase - i.e., an uppercase or mixed-case token such as 'SHA256-', 'Sha384-', or 'SHA512-' instead of the conventional 'sha256-'. In that case undici matches against a lowercase-only set, treats the token as unknown, and with no recognized algorithm remaining accepts any response body. The attacker must additionally control the returned response bytes (malicious/compromised origin server or a man-in-the-middle on the fetch channel). Limiting factors: applications that use the standard lowercase SRI tokens are unaffected (hence the upgrade-or-lowercase workaround), exploitation yields integrity compromise only (no confidentiality or availability), and affected versions are 7.15.0-7.30.0 and 8.0.0-8.12.1; 7.30.1 and 8.12.2 normalize the token to ASCII lowercase before validation. |
| Impact | This is a moderate, defense-in-depth integrity flaw rather than a high-priority emergency. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N, base 5.9) is internally consistent with the description: network-reachable, no authentication, but high attack complexity because exploitation depends on a specific non-default pinning choice AND attacker control over the response body. Impact is confined to integrity (C:N/A:N), matching CWE-178 (improper handling of case sensitivity) - not information disclosure despite the input tag. No EPSS score, SSVC decision, KEV listing, or POC was provided in the intelligence; exploitation status is therefore 'no public exploit identified at time of analysis.' The signals do not conflict, but several are simply absent: there is no exploitation-probability (EPSS) or automatability signal to weigh. The realistic risk is bounded by the precondition that the victim application pinned an uppercase or mixed-case SRI token, which is uncommon since the overwhelmingly documented convention is lowercase. Net: a legitimate integrity regression worth patching on a normal cadence, not a widespread-exploitation priority. |
| Exploit ScenarioDerived | A Node.js application uses undici's fetch() to retrieve a critical remote resource (e.g., a script or config) and pins it with an SRI integrity value using an uppercase or mixed-case algorithm token such as 'SHA256-...'. An attacker positioned to control the returned response body - via a compromised or malicious upstream server, or a man-in-the-middle on an unprotected channel - serves altered bytes; undici fails to recognize the capitalized token, treats the integrity list as empty, and accepts the tampered body with no error. No public exploit code was provided in the intelligence, and the high attack complexity reflects the required non-default token casing plus response-body control. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Integrity-check bypass in the fetch() implementation of undici (the HTTP client library used by Node.js) allows a party that controls only the response body to deliver attacker-chosen bytes to applications that pinned a valid but non-lowercase Subresource Integrity token. Affected releases are 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1; the flaw is unauthenticated and remotely triggerable, but exploitation depends on the application supplying an uppercase or mixed-case algorithm token such as 'SHA256-' and on the attacker being able to control the returned response (malicious or compromised origin, or an in-path position on the fetch channel). Impact is limited to response integrity - confidentiality and availability are unaffected - and no public exploit code was identified at time of analysis; the issue is fixed in 7.30.1 and 8.12.2.
RemediationAI
Vendor-released patch: upgrade undici to 7.30.1 or 8.12.2 (or later), which normalize the SRI algorithm token to ASCII lowercase before validation; confirm the resolved version in the dependency tree since undici is often a transitive dependency, and rebuild lockfiles where it is pinned. If an immediate upgrade is not possible, apply the vendor-documented workaround of using only lowercase integrity tokens (sha256-, sha384-, sha512-) in every integrity attribute or fetch option - note that this is a caller-side change with a real trade-off, since any non-lowercase token left in place continues to be silently ignored and omitted from verification. Because exploitation also requires the attacker to control the response bytes, narrowing the set of origins contacted over fetch and enforcing TLS validation reduces exposure but does not substitute for the patch and does not restore the integrity guarantee. Full details and version confirmation are available in the advisory at https://github.com/nodejs/undici/security/advisories/GHSA-f72v-6w45-q472 and the OpenJS CNA advisory index at 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
Subresource Integrity (SRI) lets an application pin a cryptographic digest that a fetched resource must match, expressed as integrity metadata such as 'sha256-<base64>'. Per the SRI specification the algorithm token is defined by its ASCII-lowercase form, but undici's fetch() implementation compared the token against a strictly lowercase-only set rather than normalizing case first. When an application supplied a syntactically valid but non-lowercase token (for example 'SHA256-', 'Sha384-', or 'SHA512-'), undici failed to match it, treated the entry as an unknown algorithm, and - once no recognized algorithm remained in the list - treated the integrity list as empty and accepted the response without verification. The root cause is classified as CWE-178 (Improper Handling of Case Sensitivity): a case-normalization defect in integrity metadata parsing rather than a cryptographic weakness in the digest algorithms themselves. The fix in 7.30.1 and 8.12.2 normalizes the algorithm token to ASCII lowercase before validation, bringing the parser in line with the specification; the affected component is the undici npm package (CPE cpe:2.3:a:undici:undici), which is embedded in many Node.js applications either directly or transitively through Node's bundled fetch support.
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:N/I:H/A:N
Network-reachable and unauthenticated (AV:N/PR:N), but AC:H because it needs a non-default mixed-case SRI pin plus attacker control of the response body; integrity-only impact (C:N/I:H/A:N).
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
Lifecycle Timeline
2DescriptionCVE.org
undici is an HTTP client library for Node.js. In versions 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1, its fetch() implementation verifies Subresource Integrity metadata by matching the algorithm token against a lowercase-only set, even though the SRI specification defines the token by its ASCII-lowercase form, so a valid but non-lowercase token such as an uppercase or mixed-case SHA256 is treated as unknown and skipped. When no recognized algorithm remains, undici treats the integrity list as empty and accepts the response, so a server returning a body that does not match the pinned digest passes the check. An attacker who controls only the response body can therefore deliver attacker-controlled bytes to an application that pinned a valid uppercase or mixed-case SRI token, with no integrity error, affecting response integrity only. The issue is fixed in undici 7.30.1 and 8.12.2, which normalize the algorithm token to ASCII lowercase before validation, and users should upgrade to one of those versions or later. As a workaround, use lowercase algorithm tokens such as sha256, sha384, or sha512 in integrity metadata.
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
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-102305
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB