CVE Catalog

CVE-2023-30589

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Very high risk
3.91%

90th percentile - higher than 90% of all known CVEs

Summary

The llhttp parser in the http module in Node v20.2.0 does not strictly use the CRLF sequence to delimit HTTP requests. This can lead to HTTP Request Smuggling (HRS). The CR character (without LF) is sufficient to delimit HTTP header fields in the llhttp parser. According to RFC7230 section 3, only the CRLF sequence should delimit each header-field. This impacts all Node.js active versions: v16, v18, and, v20.

Risk Assessment

HTTP Request Smuggling may allow an attacker to smuggle requests, bypass security controls, poison caches, or hijack other users' sessions. The risk is especially high in environments with proxy servers or load balancers.

Recommendation

Update Node.js to a version containing the fix for this vulnerability. Verify the configuration of proxy servers and load balancers for consistent HTTP header parsing.

Other vulnerabilities in Node.js

See all
Original NVD description (English source)

The llhttp parser in the http module in Node v20.2.0 does not strictly use the CRLF sequence to delimit HTTP requests. This can lead to HTTP Request Smuggling (HRS). The CR character (without LF) is sufficient to delimit HTTP header fields in the llhttp parser. According to RFC7230 section 3, only the CRLF sequence should delimit each header-field. This impacts all Node.js active versions: v16, v18, and, v20

Vulnerability data from NVD (NIST) · CISA KEV · EPSS