CVE-2026-15157: undici CRLF injection in blob-like request body type property

CVE-2026-15157 · Severity: medium · CVSS 4.2 · Published 2026-07-29

Undici, a popular HTTP client for Node.js, is vulnerable to a security flaw when handling specific types of data objects. If an application uses untrusted input to define the 'type' of a data blob, an attacker could inject malicious characters to manipulate HTTP headers. This could allow an attacker to bypass security controls or perform request smuggling, potentially compromising the integrity of communications between services.

Technologies: undici (npm). Vendors: npm.

Quick answers

Is CVE-2026-15157 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-15157 being exploited in the wild.
How severe is CVE-2026-15157?
Medium severity, with a CVSS score of 4.2, published 29 July 2026.
Which products and versions are affected?
undici (npm) SEMVER:introduced=0,fixed=6.28.0.
Is there a fix for CVE-2026-15157?
Yes. undici (npm): upgrade to 6.28.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-15157 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-15157?
Check whether you run undici (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • undici (npm): upgrade to 6.28.0 or later
    npm install undici@6.28.0

Technical details

A CRLF injection vulnerability exists in undici's HTTP/1.1 dispatcher within `lib/dispatcher/client-h1.js`. When an application passes a duck-typed blob-like body to functions such as `request()` or `stream()`, the `.type` property is pushed directly into the outgoing 'content-type' header without validation via `isValidHeaderValue()`. An attacker providing a hand-rolled blob object with a malicious `.type` string containing `\r\n` sequences can inject arbitrary HTTP headers or perform request smuggling. Native `Blob` objects are not affected as their constructors strip CRLF sequences. The issue is patched in versions 6.28.0, 7.29.0, and 8.9.0.

Affected products

  • Node.js undici < 6.28.0, >= 7.0.0 < 7.29.0, >= 8.0.0 < 8.9.0

Identifiers

  • CVE-2026-15157
  • GHSA-m8rv-5g2x-5cg5

Timeline

  • 2026-07-29: disclosed
  • 2026-07-29: patched
  • 2026-08-03: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.