Skip to main content

undici CVE-2026-109841

| EUVDEUVD-2026-102305 MEDIUM
Improper Handling of Case Sensitivity (CWE-178)
2026-10-15 openjs
5.9
CVSS 3.1 · Vendor: openjs
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Control upstream or MITM response
  2. Delivery
    Target app pinning mixed-case SRI token
  3. Exploit
    Serve tampered response body
  4. Execution
    Undici skips unrecognized algorithm
  5. Persist
    Integrity check silently passes
  6. Impact
    Attacker 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

undici 8.0.0 <8.12.2
undici 7.15.0 <7.30.1

Affected Packages

euvd undici fix: 7.30.1, 8.12.2

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

Vendor (openjs) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 5.9 MEDIUM

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).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Red Hat 5.9 MEDIUM

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Oct 15, 2026 - 20:03 EUVD
CVE Published
Oct 15, 2026 - 18:22 cve.org
MEDIUM 5.9

DescriptionCVE.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

EPSS Score
0.2%
Top 85% exploitable
Prevalence
High
undici is the HTTP client backing Node.js global fetch, widely deployed
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Undici

View all
CVE-2022-35949 CRITICAL POC
9.8 Aug 12

undici is an HTTP/1.1 client, written from scratch for Node.js.`undici` is vulnerable to SSRF (Server-side Request Forge

CVE-2026-12151 HIGH POC
7.5 Jun 17

Memory exhaustion denial of service in the undici WebSocket client (versions 6.17.0 and later) allows a malicious or com

CVE-2026-14643 HIGH POC
7.5 Jul 29

Cross-user information disclosure in undici's cache interceptor allows authenticated users' responses to be served from

CVE-2026-16729 MEDIUM POC
6.5 Jul 29

Cookie attribute injection in undici's setCookie function allows attacker-controlled domain values or unparsed array ent

CVE-2022-31151 MEDIUM POC
6.5 Jul 21

Authorization headers are cleared on cross-origin redirect. Rated medium severity (CVSS 6.5), this vulnerability is remo

CVE-2022-32210 MEDIUM POC
6.5 Jul 14

`Undici.ProxyAgent` never verifies the remote server's certificate, and always exposes all request & response data to th

CVE-2026-15157 MEDIUM POC
5.4 Jul 29

CRLF injection in undici's HTTP/1.1 dispatcher enables HTTP header injection and potential request smuggling when applic

CVE-2023-23936 MEDIUM POC
5.4 Feb 16

Undici is an HTTP/1.1 client for Node.js. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable,

CVE-2022-35948 MEDIUM POC
5.3 Aug 15

undici is an HTTP/1.1 client, written from scratch for Node.js.`=< undici@5.8.0` users are vulnerable to _CRLF Injection

CVE-2026-13697 CRITICAL
9.1 Jul 29

Cross-user information disclosure and a parse-time denial of service in undici's HTTP cache interceptor affect versions

CVE-2026-84961 CRITICAL
9.1 Sep 04

TLS certificate validation bypass in undici's BalancedPool dispatcher silently discards function-valued options - includ

CVE-2026-6734 HIGH
8.8 Jun 17

Cross-origin request misrouting in undici's Socks5ProxyAgent (introduced in 7.23.0, affecting all releases through 8.1.0

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy