CVE-2026-1527
4.6
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N
Summary
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
}
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| undici | undici | < 6.24.0; 7.0.0 < 7.24.0 | affected |
| undici | undici | 6.24.0: 7.24.0 | unaffected |
Weaknesses
- CWE-93: CWE-93 Improper neutralization of CRLF sequences ('CRLF injection')
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: none
- Automatable: no
- Technical Impact: partial
References
- https://github.com/nodejs/undici/security/advisories/GHSA-4992-7rv2-5pvq
- https://hackerone.com/reports/3487198
- https://cna.openjsf.org/security-advisories.html
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.