CVE-2026-1525 Details
Description
Undici allows duplicate HTTP Content-Length headers when they are provided in an array 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. Who is impacted: * Applications using undici.request(), undici.Client, or similar low-level APIs with headers passed as flat arrays * Applications that accept user-controlled header names without case-normalization Potential consequences: * Denial of Service: Strict HTTP parsers (proxies, servers) will reject requests with duplicate Content-Length headers (400 Bad Request) * HTTP Request Smuggling: In deployments where an intermediary and backend interpret duplicate headers inconsistently (e.g., one uses the first value, the other uses the last), this can enable request smuggling attacks leading to ACL bypass, cache poisoning, or credential hijacking
A vulnerability in Undici allows the inclusion of duplicate HTTP Content-Length headers when they are provided in an array with case-variant names, such as 'Content-Length' and 'content-length'. This results in malformed HTTP/1.1 requests with conflicting Content-Length values. The issue affects versions of Undici prior to 6.24.0 and between 7.0.0 and 7.24.0. The vulnerability impacts applications that use 'undici.request()', 'undici.Client', or similar low-level APIs with headers passed as flat arrays, as well as those that accept user-controlled header names without case normalization. The potential consequences include denial-of-service, as strict HTTP parsers will reject requests with duplicate Content-Length headers, and HTTP request smuggling, which can lead to cache poisoning, access control bypass, or credential hijacking.
Users can upgrade to Undici versions 6.24.0 or 7.24.0, where this vulnerability has been patched. If an immediate upgrade is not possible, header names should be validated to ensure no duplicate 'Content-Length' headers are present before passing them to Undici. Alternatively, headers can be passed as a plain object, which automatically deduplicates by key, or user input can be sanitized by normalizing header names to lowercase and rejecting duplicates.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Mar 12, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://cna.openjsf.org/security-advisories.html | openjs | Vendor Advisory |
| https://cwe.mitre.org/data/definitions/444.html | openjs | Technical Description |
| https://github.com/nodejs/undici/security/advisories/GHSA-2mjp-6q6p-2qxm | openjs | MitigationVendor Advisory |
| https://hackerone.com/reports/3556037 | openjs | Permissions Required |
| https://www.rfc-editor.org/rfc/rfc9110.html#section-8.6 | openjs | Technical Description |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-444 | Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') | openjs |
Affected Products
| Product | Versions |
|---|---|
| nodejs undici | < 6.24.0 >= 7.0.0, < 7.24.0 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | openjs |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Mar 19, 2026 | Initial Analysis | [email protected] |
| Mar 12, 2026 | New CVE Received | openjs |