CVE-2025-23167
nodejs: Improper HTTP Header Termination in Node.js 20 Enables Request Smuggling
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
A flaw in Node.js 20's HTTP parser allows improper termination of HTTP/1 headers using `\r
\rX` instead of the required `\r
\r
`.
This inconsistency enables request smuggling, allowing attackers to bypass proxy-based access controls and submit unauthorized requests. The issue was resolved by upgrading `llhttp` to version 9, which enforces correct header termination. Impact:
* This vulnerability affects only Node.js 20.x users prior to the `llhttp` v9 upgrade.
A flaw was found in the HTTP parser of Node.js. This vulnerability allows attackers to perform request smuggling and bypass proxy-based access controls via improperly terminated HTTP/1 headers using \r
\rX instead of the standard \r
\r
.
A flaw in Node.js 20's HTTP parser allows improper termination of HTTP/1 headers using `\r
\rX` instead of the required `\r
\r
`. This inconsistency enables request smuggling, allowing attackers to bypass proxy-based access controls and submit unauthorized requests. The issue was resolved by upgrading `llhttp` to version 9, which enforces correct header termination. Impact: * This vulnerability affects only Node.js 20.x users prior to the `llhttp` v9 upgrade.
This update for nodejs20 fixes the following issues. Improper error handling in async cryptographic operations crashes process. Improper HTTP header block termination in llhttp. Add missing call to uv_fs_req_cleanup. Other bug fixes.
CVSS Scores
SSVC
- Decision:Attend
Timeline
- 2025-01-12 CVE Reserved
- 2025-05-19 CVE Published
- 2025-05-27 CVE Updated
- 2025-07-05 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
CAPEC
References (3)
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://access.redhat.com/security/cve/CVE-2025-23167 | 2025-06-04 | |
https://bugzilla.redhat.com/show_bug.cgi?id=2367167 | 2025-06-04 |
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 4.0 < 4.* Search vendor "Nodejs" for product "Node" and version " >= 4.0 < 4.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 5.0 < 5.* Search vendor "Nodejs" for product "Node" and version " >= 5.0 < 5.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 6.0 < 6.* Search vendor "Nodejs" for product "Node" and version " >= 6.0 < 6.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 7.0 < 7.* Search vendor "Nodejs" for product "Node" and version " >= 7.0 < 7.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 8.0 < 8.* Search vendor "Nodejs" for product "Node" and version " >= 8.0 < 8.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 9.0 < 9.* Search vendor "Nodejs" for product "Node" and version " >= 9.0 < 9.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 10.0 < 10.* Search vendor "Nodejs" for product "Node" and version " >= 10.0 < 10.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 11.0 < 11.* Search vendor "Nodejs" for product "Node" and version " >= 11.0 < 11.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 12.0 < 12.* Search vendor "Nodejs" for product "Node" and version " >= 12.0 < 12.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 13.0 < 13.* Search vendor "Nodejs" for product "Node" and version " >= 13.0 < 13.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 14.0 < 14.* Search vendor "Nodejs" for product "Node" and version " >= 14.0 < 14.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 15.0 < 15.* Search vendor "Nodejs" for product "Node" and version " >= 15.0 < 15.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 16.0 < 16.* Search vendor "Nodejs" for product "Node" and version " >= 16.0 < 16.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 17.0 < 17.* Search vendor "Nodejs" for product "Node" and version " >= 17.0 < 17.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 18.0 < 18.* Search vendor "Nodejs" for product "Node" and version " >= 18.0 < 18.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 19.0 < 19.* Search vendor "Nodejs" for product "Node" and version " >= 19.0 < 19.*" | en |
Affected
| ||||||
Nodejs Search vendor "Nodejs" | Node Search vendor "Nodejs" for product "Node" | >= 20.0.0 <= 20.19.1 Search vendor "Nodejs" for product "Node" and version " >= 20.0.0 <= 20.19.1" | en |
Affected
|