CVE-2023-30589 llhttp vulnerable to HTTP request smuggling
Attackers can exploit HTTP request smuggling in Node.js by bypassing header delimiters, potentially leading to cache poisoning or security bypasses.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-30589?
CVE-2023-30589 is a high-severity vulnerability in Fedoraproject Fedora, published on 30 Jun 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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
Which versions are affected by CVE-2023-30589?
4 open source packages ship an affected version, including llhttp, node and node-min. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
llhttp npm | All versions | 8.1.1 |
llhttp npm | All versions | 8.1.1 |
node Bitnami | From 16.0.0 | 16.20.1, 18.16.1, 20.3.1 |
node-min Bitnami | From 16.0.0 | 16.20.1, 18.16.1, 20.3.1 |
Linux distribution packages (1)
python-httptools openSUSE:Tumbleweed | All versions | 0.8.0-1.3 |
Products include Fedoraproject Fedora, Nodejs Node.js.
How do I fix CVE-2023-30589?
Upgrade llhttp to 8.1.1 or later.
Is CVE-2023-30589 being exploited?
There is no known exploitation of CVE-2023-30589 in the wild and no public exploit code.
Other vulnerabilities in Fedoraproject Fedora
Sources
Also known as AZL-27278, AZL-27279, BIT-node-2023-30589, BIT-node-min-2023-30589, CLEANSTART-2026-LJ66214, DEBIAN-CVE-2023-30589 and 3 more.