CVE-2026-15157
Description
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
undicinpm | < 6.28.0 | 6.28.0 |
undicinpm | >= 7.0.0, < 7.29.0 | 7.29.0 |
undicinpm | >= 8.0.0, < 8.9.0 | 8.9.0 |
Affected products
33- osv-coords31 versionspkg:apk/wolfi/langfuse-3-workerpkg:apk/chainguard/prismpkg:apk/chainguard/code-serverpkg:apk/chainguard/langfuse-3pkg:apk/chainguard/langfuse-4-workerpkg:apk/chainguard/langfuse-fips-3pkg:apk/wolfi/langfuse-3pkg:apk/chainguard/kibana-8.19-iamguardedpkg:apk/chainguard/langfuse-fips-4-workerpkg:apk/chainguard/kibana-9.2-iamguardedpkg:apk/chainguard/langfuse-4pkg:apk/chainguard/pulumi-language-nodejspkg:apk/chainguard/safpkg:apk/chainguard/vitess-24pkg:apk/wolfi/code-serverpkg:apk/chainguard/kibana-8.19-bitnamipkg:apk/chainguard/langfuse-fips-4pkg:apk/wolfi/npm-12pkg:apk/wolfi/safpkg:apk/chainguard/kibana-9.2pkg:apk/chainguard/langfuse-3-workerpkg:apk/chainguard/npm-12pkg:apk/chainguard/renovatepkg:apk/chainguard/actions-runnerpkg:apk/wolfi/prismpkg:apk/chainguard/kibana-8.19pkg:apk/wolfi/renovatepkg:apk/wolfi/vitess-24pkg:apk/chainguard/pelias-apipkg:apk/chainguard/langfuse-fips-3-workerpkg:apk/wolfi/pulumi-language-nodejs
< 3.225.0-r3+ 30 more
- (no CPE)range: < 3.225.0-r3
- (no CPE)range: < 5.16.0-r2
- (no CPE)range: < 4.130.0-r5
- (no CPE)range: < 3.225.0-r3
- (no CPE)range: < 4.3.1-r3
- (no CPE)range: < 3.224.3-r9
- (no CPE)range: < 3.225.0-r3
- (no CPE)range: < 8.19.20-r2
- (no CPE)range: < 4.4.0-r0
- (no CPE)range: < 9.2.8-r19
- (no CPE)range: < 4.3.1-r3
- (no CPE)range: < 3.256.0-r1
- (no CPE)range: < 1.7.0-r0
- (no CPE)range: < 24.0.2-r10
- (no CPE)range: < 4.130.0-r5
- (no CPE)range: < 8.19.20-r2
- (no CPE)range: < 4.4.0-r0
- (no CPE)range: < 12.0.2-r2
- (no CPE)range: < 1.7.0-r0
- (no CPE)range: < 9.2.8-r19
- (no CPE)range: < 3.225.0-r3
- (no CPE)range: < 12.0.2-r2
- (no CPE)range: < 44.23.3-r1
- (no CPE)range: < 2.336.0-r5
- (no CPE)range: < 5.16.0-r2
- (no CPE)range: < 8.19.20-r2
- (no CPE)range: < 44.23.3-r1
- (no CPE)range: < 24.0.2-r10
- (no CPE)range: < 7.8.0-r7
- (no CPE)range: < 3.224.3-r9
- (no CPE)range: < 3.256.0-r1
Patches
Vulnerability mechanics
References
10- cna.openjsf.org/security-advisories.htmlnvdVendor AdvisoryWEB
- github.com/advisories/GHSA-m8rv-5g2x-5cg5ghsaADVISORY
- github.com/nodejs/undici/security/advisories/GHSA-m8rv-5g2x-5cg5nvdMitigationVendor AdvisoryWEB
- nvd.nist.gov/vuln/detail/CVE-2026-15157ghsaADVISORY
- github.com/nodejs/undici/commit/33928bc24f742ea8422ed90d17f2e0cc83e4d09dghsaWEB
- github.com/nodejs/undici/commit/740a0b7c173cb4a83a5b693e96e8f3a116cfc400ghsaWEB
- github.com/nodejs/undici/commit/7d3cf924c262c486bc77f951348f4e5c847b7b42ghsaWEB
- github.com/nodejs/undici/releases/tag/v6.28.0ghsaWEB
- github.com/nodejs/undici/releases/tag/v7.29.0ghsaWEB
- github.com/nodejs/undici/releases/tag/v8.9.0ghsaWEB
News mentions
1- Undici npm Package: Five Vulnerabilities Disclosed Together Affecting HTTP Client FunctionsVypr Intelligence · Jul 30, 2026