CVE-2026-15157 json
undici vulnerable to CRLF Injection via blob-like body 'type' property
published 2026-07-29 3 mo ago modified 2026-09-10 1 mo ago also GHSA-m8rv-5g2x-5cg5 , EUVD-2026-50568
- cvss
- 4.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 18%
- public exploits
- 0
- none known
Summary
undici does not validate the type property of a duck-typed blob-like request body before using it as the Content-Type header on the HTTP/1.1 dispatcher. In undici before 6.28.0, from 7.0.0 up to before 7.29.0, and from 8.0.0 up to before 8.9.0, an application that passes a hand-rolled blob-like body (via request, stream, pipeline, or dispatch) whose type is derived from untrusted input allows an attacker to inject CRLF sequences and append arbitrary HTTP headers, potentially smuggling a second request past the upstream. Native Blob objects are safe because their constructor strips CRLF from the type, and fetch is unaffected because it validates headers, but ecosystem libraries that build duck-typed blob shapes from user input can reach the vulnerable path. This is the same defect class as CVE-2022-35948 and CVE-2026-1527, on a header sink that the earlier fixes did not cover. The issue is fixed in undici 6.28.0, 7.29.0, and 8.9.0.
Patch / fix
- npm undici 6.28.0, 7.29.0, 8.9.0
- undici undici 6.28.0, 7.29.0, 8.9.0
- node-undici Debian 14 8.9.0+dfsg+~cs3.2.0-1
debian advisories DEBIAN-CVE-2026-15157
- nodejs24 hummingbird 1 24.18.1-0.1.hum1
- nodejs24-bin hummingbird 1 24.18.1-0.1.hum1
- nodejs24-npm hummingbird 1 11.16.0-1.24.18.1.0.1.hum1
- nodejs24-libs hummingbird 1 24.18.1-0.1.hum1
- nodejs24-npm-bin hummingbird 1 24.18.1-0.1.hum1
- nodejs24-full-i18n hummingbird 1 24.18.1-0.1.hum1
- nodejs26 hummingbird 1 26.5.1-1.5.hum1
- nodejs26-bin hummingbird 1 26.5.1-1.5.hum1
red hat advisories RHSA-2026:48537RHSA-2026:48273
- nodejs16 SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +1 more 16.20.2-150400.3.42.1
- nodejs18 SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +5 more 18.20.8-150400.9.39.1
- nodejs18 SLES LTSS Extended Security 12 SP5, SLES 12 SP5-LTSS 18.20.8-8.44.1
suse advisories SUSE-SU-2026:4355-1SUSE-SU-2026:4261-1SUSE-SU-2026:4248-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-15157 updated cvss 4.2
undici: undici: HTTP header injection via unvalidated blob-like body type property
-
Red Hat Hardened Images nodejs25 25.9.0-1.5.hum1affected: no fix planned “Will not fix”
-
Red Hat Hardened Images nodejs26 26.5.1-1.5.hum1, nodejs24 24.18.1-0.1.hum1, nodejs26-bin 26.5.1-1.5.hum1, nodejs24-bin 24.18.1-0.1.hum1, nodejs26-libs 26.5.1-1.5.hum1, nodejs24-libs 24.18.1-0.1.hum1, +6 morefixed: vendor fix RHSA-2026:48537
-
Red Hat Hardened Images rust 1.97.1-2.hum1, jaeger 2.20.0-0.6.hum1, grafana12.4 12.4.6-0.2.hum1, prometheus3.13 3.13.1-0.4.hum1not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
0.26% chance of exploitation in the next 30 days, higher than 18% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.2 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N |
| NVD | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N |
| GitHub | 3.1 | 4.2 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | undici | <6.28.0 >=7.0.0, <7.29.0 >=8.0.0, <8.9.0 |
6.28.0 7.29.0 8.9.0 |
Affected products
- undici undici
Classification
- Weakness
-
- CWE-93 Improper Neutralization of CRLF Sequences
References
-
github.com
/nodejs/undici/commit/33928bc24f742ea8422ed90d17f2e0cc83e4d09d
web
-
github.com
/nodejs/undici/commit/740a0b7c173cb4a83a5b693e96e8f3a116cfc400
web
-
github.com
/nodejs/undici/commit/7d3cf924c262c486bc77f951348f4e5c847b7b42
web
-
github.com
/nodejs/undici/security/advisories/GHSA-m8rv-5g2x-5cg5
web, mitigation, vendor-advisory
-
cna.openjsf.org
/security-advisories.html
web, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-15157
advisory
-
github.com
/nodejs/undici
package
-
github.com
/nodejs/undici/releases/tag/v6.28.0
web
-
github.com
/nodejs/undici/releases/tag/v7.29.0
web
-
github.com
/nodejs/undici/releases/tag/v8.9.0
web
Sources
- CVE List CVE-2026-15157
- GitHub Advisory GHSA-m8rv-5g2x-5cg5
- NVD CVE-2026-15157
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.