Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| undici / undici | affected < 6.24.0; 7.0.0 < 7.24.0; unaffected 6.24.0: 7.24.0 |
CWE
CWE-93
References
- https://github.com/nodejs/undici/security/advisories/GHSA-4992-7rv2-5pvq
- https://hackerone.com/reports/3487198
- https://cna.openjsf.org/security-advisories.html
ADP enrichment
No English description supplied.
No references supplied.