
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-1525 is an HTTP Request Smuggling and Denial of Service vulnerability in the Node.js undici HTTP client library, caused by improper handling of duplicate Content-Length headers supplied with case-variant names (e.g., Content-Length and content-length). This produces malformed HTTP/1.1 requests with multiple conflicting Content-Length values on the wire. Affected versions are undici < 6.24.0 and 7.0.0 ≤ undici < 7.24.0. The vulnerability was published on March 12, 2026. The GitHub Security Advisory (GHSA-2mjp-6q6p-2qxm) rates it as Moderate with a CVSS v3.1 score of 6.5, while some sources (e.g., Feedly/NVD) assign a higher score of 9.8 — the authoritative advisory score from the OpenJS Foundation CNA is 6.5 (Github Advisory, Red Hat Bugzilla).
The root cause is classified as CWE-444 (Inconsistent Interpretation of HTTP Requests / HTTP Request Smuggling). When headers are passed to undici APIs (e.g., undici.request(), undici.Client) as flat arrays, the library fails to perform case-insensitive deduplication of header names. This allows a caller to supply both Content-Length and content-length as distinct entries, resulting in both being serialized into the outgoing HTTP/1.1 request. RFC 9110 Section 8.6 explicitly prohibits sending Content-Length more than once. The attack vector is network-based and requires no authentication or user interaction; however, exploitation for request smuggling requires a specific deployment topology where an intermediary (proxy, load balancer) and a backend server interpret the duplicate headers differently — one consuming the first value and the other the last (Github Advisory, CWE-444). The vulnerability was originally reported via HackerOne report #3556037.
Exploitation can result in two distinct classes of harm. First, a Denial of Service condition occurs when strict HTTP parsers (proxies or servers) reject requests containing duplicate Content-Length headers with a 400 Bad Request response, disrupting application availability. Second, and more critically, in deployments where an intermediary and a backend server interpret the conflicting headers inconsistently, an attacker can perform HTTP Request Smuggling, enabling ACL bypass, cache poisoning, or credential hijacking. Downstream IBM products incorporating undici — including IBM API Connect, Cloud Pak for Integration, QRadar Suite, App Connect Enterprise, and others — are also affected (Github Advisory, Red Hat Bugzilla).
As of the time of this report, there is no public proof-of-concept exploit code and no evidence of active in-the-wild exploitation (Github Advisory). The EPSS score is approximately 0.019% (5th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported. Exploitation for request smuggling requires a specific intermediary/backend configuration mismatch, which raises the practical attack complexity beyond what the base CVSS score may suggest.
undici.request(), undici.Client, or similar low-level undici APIs, running an affected version (< 6.24.0 or 7.0.0–7.23.x), ideally sitting behind a proxy or load balancer.Content-Length headers with different casing and different values, e.g., by supplying ['Content-Length', '0', 'content-length', '100'] as the headers array to the undici API.Content-Length value and the backend uses the last (or vice versa), craft the body so that the "extra" bytes are interpreted by the backend as the beginning of a second, attacker-controlled HTTP request.Content-Length headers (e.g., both Content-Length and content-length) with differing values; unexpected 400 Bad Request responses from upstream proxies or servers at elevated rates.400 errors on requests originating from the Node.js application; backend server logs showing unexpected or out-of-sequence HTTP requests that do not correspond to client-initiated activity.Upgrade undici to version 6.24.0 (for 6.x branch) or 7.24.0 (for 7.x branch), which fix the duplicate header serialization issue. If immediate upgrade is not possible, apply the following workarounds: (1) pass headers as a plain JavaScript object ({ 'content-length': '123' }) rather than a flat array, which naturally deduplicates by key; (2) normalize all header names to lowercase and reject or deduplicate any Content-Length entries before passing them to undici; (3) sanitize user-controlled input to prevent injection of duplicate or case-variant header names. Red Hat has issued multiple errata (RHSA-2026:7080, 7123, 7302, 7350, 7670, 7675, 7983, and others) addressing this issue across RHEL 8, 9, and 10 (Github Advisory, Red Hat Bugzilla).
The vulnerability was published by maintainer mcollina under the OpenJS Foundation CNA and reviewed by UlisesGascon. Red Hat tracked the issue as medium severity and issued numerous errata across RHEL 8, 9, and 10 within weeks of disclosure. IBM issued advisories for a broad range of affected products including API Connect, Cloud Pak for Integration, QRadar Suite, App Connect Enterprise, and watsonx Orchestrate. No significant independent researcher commentary or notable social media discussion has been identified beyond standard vulnerability database aggregation (Github Advisory, Red Hat Bugzilla).
Fix availability across major Linux distributions and their releases.
bookworm
node-undici
sid
node-undici: 7.24.5+dfsg+~cs3.2.0-1
trixie
node-undici
devel
node-undici
noble
node-undici
noble (esm-apps)
node-undici
resolute
node-undici
resolute (esm-apps)
node-undici
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."