CVE-2026-1527
Vulnerability Summary
Timeline
Description
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` }
CVSS Metrics
- v3.1•MEDIUM•Score: 4.6CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N
EPSS Trends
Current EPSS score: 0.26%• Percentile: 17%
Techniques & Countermeasures
- CWE-93•Improper Neutralization of CRLF Sequences ('CRLF Injection')
The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.
Affected Systems
- nodejs•undici
< 6.24.0 | ≥ 7.0.0, < 7.24.0
- Npm•undici
< 6.24.0 | ≥ 7.0.0, < 7.24.0
- undici•undici
< 6.24.0; 7.0.0 < 7.24.0