HTTP request smuggling In llhttp
Description
llhttp vulnerable to HTTP request smuggling 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
Mitigation
Update Impact
Minimal update. May introduce new vulnerabilities or breaking changes.
Ecosystem | Package | Affected version | Patched versions |
|---|---|---|---|
npm | 8.1.1 | ||
debian 11 | 12.22.12~dfsg-1~deb11u5 | ||
debian 12 | 18.19.0+dfsg-6~deb12u1 | ||
debian 13 | 18.13.0+dfsg1-1.1 | ||
debian 14 | 18.13.0+dfsg1-1.1 | ||
rpm rhel9.0 | 1:16.20.2-1.el9_0 | ||
rpm rhel8 | - | - | |
rpm rhel8.6 | 1:16.20.2-2.module+el8.6.0+19897+9590a839 | ||
rpm rhel9 | 1:16.20.1-1.el9_2 |
Aliases
1. 2. 3. 4. 5. 6. 7.
References
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.