Skip to content
Not rated

CVE-2023-30589 The llhttp parser in the http module in Node v20.2.0 does not strictly use the CRLF sequence to delimit HTTP requests

Description

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

Affected products and versions

Product Affected versions Fixed in
Node 20.0 20.0 → < 20.3.1 20.3.1
Node 19.0 19.0 → latest No fix stated
Node 18.0 18.0 → < 18.16.1 18.16.1
Node 17.0 17.0 → latest No fix stated
Node 16.0 16.0 → < 16.20.1 16.20.1
Node 15.0 15.0 → latest No fix stated
Node 14.0 14.0 → latest No fix stated
Node 13.0 13.0 → latest No fix stated
Node 12.0 12.0 → latest No fix stated
Show the 8 other branches
Product Affected versions Fixed in
Node 11.0 11.0 → latest No fix stated
Node 10.0 10.0 → latest No fix stated
Node 9.0 9.0 → latest No fix stated
Node 8.0 8.0 → latest No fix stated
Node 7.0 7.0 → latest No fix stated
Node 6.0 6.0 → latest No fix stated
Node 5.0 5.0 → latest No fix stated
Node 4.0 4.0 → latest No fix stated

References

Timeline

  1. Published
  2. Last modified
The 129 CVEs of Node →
Track this CVE