Overview
About vulnerability
A flaw in Node.js 20’s HTTP parser allows improper termination of HTTP/1 headers using \r\n\rX instead of the required \r\n\r\n.
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
llhttpv9 upgrade.
Details
- Affected product:
- AlmaLinux 9.2 ESU , Alpine Linux 3.22 , Debian 10 , Debian 11 , Debian 12 , Debian 13 , EL 10 , EL 7 , EL 8 , EL 9 , TuxCare 9.6 ESU , Ubuntu 18.04 , Ubuntu 20.04 , Ubuntu 22.04 , Ubuntu 24.04
- Affected packages:
- nodejs @ 14 (+68 more)
A flaw in Node.js 20’s HTTP parser allows improper termination of HTTP/1 headers using \r\n\rX instead of the required \r\n\r\n.
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
llhttpv9 upgrade.