ImpactWhen an application passes user-controlled input to the upgrade option of client.request(), an attacker can inject CRLF sequences (\r\n) to:
* Inject arbitrary HTTP headers
* Terminate the HTTP request prematurely and smuggle raw data to non-HTTP services (Redis, Memcached, Elasticsearch)
The vulnerability exists because undici writes the upgrade value directly to the socket without validating for invalid header characters:
// lib/dispatcher/client-h1.js:1121
if (upgrade) {
header += `connection: upgrade\r\nupgrade: ${upgrade}\r\n`
}
References
| Link | Resource |
|---|---|
| https://cna.openjsf.org/security-advisories.html | Vendor Advisory |
| https://github.com/nodejs/undici/security/advisories/GHSA-4992-7rv2-5pvq | Mitigation Patch Vendor Advisory |
| https://hackerone.com/reports/3487198 | Permissions Required |
Configurations
Configuration 1 (hide)
|
History
No history.
Information
Published : 2026-03-12 21:16
Updated : 2026-03-20 15:49
NVD link : CVE-2026-1527
Mitre link : CVE-2026-1527
CVE.ORG link : CVE-2026-1527
JSON object : View
Products Affected
nodejs
- undici
CWE
CWE-93
Improper Neutralization of CRLF Sequences ('CRLF Injection')
