llhttp allows HTTP Request Smuggling via Improper Delimiting of Header Fields
Critical severity
GitHub Reviewed
Published
Jul 15, 2022
to the GitHub Advisory Database
•
Updated Jul 11, 2023
Description
Published by the National Vulnerability Database
Jul 14, 2022
Published to the GitHub Advisory Database
Jul 15, 2022
Reviewed
Jul 11, 2023
Last updated
Jul 11, 2023
The llhttp parser in the http module in Node.js does not strictly use the CRLF sequence to delimit HTTP requests. The LF character (without CR) is sufficient to delimit HTTP header fields in the lihttp parser. According to RFC7230 section 3, only the CRLF sequence should delimit each header-field. This can lead to HTTP Request Smuggling (HRS).
References