Home

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` }

PUBLISHED Reserved 2026-01-28 | Published 2026-03-12 | Updated 2026-03-12 | Assigner openjs




MEDIUM: 4.6CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N

Problem types

CWE-93 Improper neutralization of CRLF sequences ('CRLF injection')

Product status

Default status
unaffected

< 6.24.0; 7.0.0 < 7.24.0
affected

6.24.0: 7.24.0
unaffected

Credits

Matteo Collina remediation developer

Ulises Gascón remediation developer

Raul Vega del Valle analyst

References

github.com/...undici/security/advisories/GHSA-4992-7rv2-5pvq

hackerone.com/reports/3487198

cna.openjsf.org/security-advisories.html

cve.org (CVE-2026-1527)

nvd.nist.gov (CVE-2026-1527)

Download JSON