CVE-2023-30589

EUVD-2023-2033
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
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
7.5 HIGH
NETWORK
LOW
NONE
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Base Score
CVSS 3.x
EPSS Score
Percentile: 82%
Affected Products (NVD)
VendorProductVersion
nodejsnode.js
16.0.0 ≤
𝑥
< 16.20.1
nodejsnode.js
18.0.0 ≤
𝑥
< 18.16.1
nodejsnode.js
20.0.0 ≤
𝑥
< 20.3.1
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
nodejs
bookworm
18.19.0+dfsg-6~deb12u2
fixed
bookworm (security)
18.19.0+dfsg-6~deb12u1
fixed
bullseye
vulnerable
bullseye (security)
12.22.12~dfsg-1~deb11u5
fixed
buster
not-affected
sid
20.18.1+dfsg-1
fixed
trixie
20.18.1+dfsg-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
nodejs
bionic
not-affected
focal
not-affected
jammy
not-affected
kinetic
ignored
lunar
ignored
mantic
Fixed 18.13.0+dfsg1-1ubuntu2.2
released
noble
not-affected
trusty
not-affected
xenial
not-affected
References