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 llhttp
v9 upgrade.