The llhttp parser in the http module in Node v20.2.0 does not strictly use the CRLF…
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Partial Red Hat: 4 fixed, 2 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA, GitHub and Red Hat.
Summary
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
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| NodeJS | Node | 4.0 and later; 5.0 and later; 6.0 and later; 7.0 and later; 8.0 and later; 9.0 and later; 10.0 and later; 11.0 and later; 12.0 and later; 13.0 and later; 14.0 and later; 15.0 and later; 16.0 to before 16.20.1; 17.0 and later; 18.0 to before 18.16.1; 19.0 and later; 20.0 to before 20.3.1 | 16.20.1, 18.16.1, 20.3.1 | Patch available | CNA |
| — | llhttp (npm) | before 8.1.1 | 8.1.1 | Patch available | GHSA-cggh-pq45-6h9x |
- Node VendorNodeJS Affected 4.0 and later; 5.0 and later; 6.0 and later; 7.0 and later; 8.0 and later; 9.0 and later; 10.0 and later; 11.0 and later; 12.0 and later; 13.0 and later; 14.0 and later; 15.0 and later; 16.0 to before 16.20.1; 17.0 and later; 18.0 to before 18.16.1; 19.0 and later; 20.0 to before 20.3.1 Fixed in 16.20.1, 18.16.1, 20.3.1 Patch available CNA
- llhttp (npm) Vendor— Affected before 8.1.1 Fixed in 8.1.1 Patch available GHSA-cggh-pq45-6h9x
CPE configurations NVD · 3
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* | 16.0.0 to before 16.20.1; 18.0.0 to before 18.16.1; 20.0.0 to before 20.3.1 | Vulnerable | NodeJS |
| cpe:2.3:o:fedoraproject:fedora:37:*:*:*:*:*:*:* | 37 | Vulnerable | Fedoraproject |
| cpe:2.3:o:fedoraproject:fedora:38:*:*:*:*:*:*:* | 38 | Vulnerable | Fedoraproject |
- cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* Versions 16.0.0 to before 16.20.1; 18.0.0 to before 18.16.1; 20.0.0 to before 20.3.1 Vulnerable ·NodeJS
- cpe:2.3:o:fedoraproject:fedora:37:*:*:*:*:*:*:* Versions 37 Vulnerable ·Fedoraproject
- cpe:2.3:o:fedoraproject:fedora:38:*:*:*:*:*:*:* Versions 38 Vulnerable ·Fedoraproject
Remediation
- Fix · CNA Node (NodeJS) Fixed in 16.20.1, 18.16.1, 20.3.1
- Fix · GHSA-cggh-pq45-6h9x llhttp (npm) Fixed in 8.1.1 Advisory →
Red Hat 6 advisories
- RHSA-2023:5533 Released 2023-10-09 · Red Hat rating Importantnodejs security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream EUS (v.9.0) nodejs-1:16.20.2-1.el9_0, nodejs-docs-1:16.20.2-1.el9_0, nodejs-full-i18n-1:16.20.2-1.el9_0 +2
- RHSA-2023:5361 Released 2023-09-26 · Red Hat rating Importantnodejs:16 security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream EUS (v.8.6) nodejs-1:16.20.2-2.module+el8.6.0+19897+9590a839.aarch64::nodejs:16, nodejs-1:16.20.2-2.module+el8.6.0+19897+9590a839.ppc64le::nodejs:16, nodejs-1:16.20.2-2.module+el8.6.0+19897+9590a839.s390x::nodejs:16 +19
- RHSA-2023:4537 Released 2023-08-08 · Red Hat rating Moderatenodejs:16 security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 8) nodejs-1:16.20.1-1.module+el8.8.0+19440+ee8dbee5.aarch64::nodejs:16, nodejs-1:16.20.1-1.module+el8.8.0+19440+ee8dbee5.ppc64le::nodejs:16, nodejs-1:16.20.1-1.module+el8.8.0+19440+ee8dbee5.s390x::nodejs:16 +19
Show 3 more Red Hat advisories
- RHSA-2023:4536 Released 2023-08-08 · Red Hat rating Moderatenodejs:18 security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 8) nodejs-1:18.16.1-1.module+el8.8.0+19438+94e84959.aarch64::nodejs:18, nodejs-1:18.16.1-1.module+el8.8.0+19438+94e84959.ppc64le::nodejs:18, nodejs-1:18.16.1-1.module+el8.8.0+19438+94e84959.s390x::nodejs:18 +20
- RHSA-2023:4330 Released 2023-07-31 · Red Hat rating Moderatenodejs:18 security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 9) nodejs-1:18.16.1-1.module+el9.2.0.z+19424+78951f07.aarch64::nodejs:18, nodejs-1:18.16.1-1.module+el9.2.0.z+19424+78951f07.ppc64le::nodejs:18, nodejs-1:18.16.1-1.module+el9.2.0.z+19424+78951f07.s390x::nodejs:18 +20
- RHSA-2023:4331 Released 2023-07-31 · Red Hat rating Moderatenodejs security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 9) nodejs-1:16.20.1-1.el9_2, nodejs-docs-1:16.20.1-1.el9_2, nodejs-full-i18n-1:16.20.1-1.el9_2 +2
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 8 | Affected | No fix planned: Will not fix |
| Red Hat Software Collections | Affected | No fix planned: Will not fix |
| Red Hat Enterprise Linux AppStream (v. 8) | Fixed | RHSA-2023:4536, RHSA-2023:4537 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2023:4330, RHSA-2023:4331 |
| Red Hat Enterprise Linux AppStream EUS (v.8.6) | Fixed | RHSA-2023:5361 |
| Red Hat Enterprise Linux AppStream EUS (v.9.0) | Fixed | RHSA-2023:5533 |
Timeline
- 2026-10-02 Threatist record created from CVE-2023-30589
- 2026-10-03 Alias added: GHSA-cggh-pq45-6h9x
- 2026-10-07 EPSS moved to the 90th–95th percentile
- 2026-10-08 CISA SSVC decision points changed
- 2026-10-09 Priority changed: LOW → MEDIUM
References
Patch 2
Advisory 2
Other 16
- https://lists.fedoraproject.org/archives/list/[email protected]/message/VEEQIN5242K5NBE2CZ4DYTNA5B4YTYE5/
- https://lists.fedoraproject.org/archives/list/[email protected]/message/UEJWL67XR67JAGEL2ZK22NA3BRKNMZNY/
- https://lists.fedoraproject.org/archives/list/[email protected]/message/VKFMKD4MJZIKFQJAAJ4VZ2FHIJ764A76/
- https://lists.fedoraproject.org/archives/list/[email protected]/message/HMEELCREWMRT6NS7HWXLA6XFLLMO36HE/
- https://security.netapp.com/advisory/ntap-20240621-0006/
- https://github.com/nodejs/llhttp
- https://github.com/nodejs/llhttp/releases/tag/release%2Fv8.1.1
- https://lists.debian.org/debian-lts-announce/2024/09/msg00029.html
- https://lists.fedoraproject.org/archives/list/[email protected]/message/HMEELCREWMRT6NS7HWXLA6XFLLMO36HE
- https://lists.fedoraproject.org/archives/list/[email protected]/message/IV326O2X4BE3SINX5FJHMAKVHUAA4ZYF
- https://lists.fedoraproject.org/archives/list/[email protected]/message/UEJWL67XR67JAGEL2ZK22NA3BRKNMZNY
- https://lists.fedoraproject.org/archives/list/[email protected]/message/VCVG4TQRGTK4LKAZKVEQAUEJM7DUACYE
- https://lists.fedoraproject.org/archives/list/[email protected]/message/VEEQIN5242K5NBE2CZ4DYTNA5B4YTYE5
- https://lists.fedoraproject.org/archives/list/[email protected]/message/VKFMKD4MJZIKFQJAAJ4VZ2FHIJ764A76
- https://security.netapp.com/advisory/ntap-20230803-0009
- https://security.netapp.com/advisory/ntap-20240621-0006
More NodeJS Node.js vulnerabilities
- TI-2026-79288 Out-of-bounds write in Google Brotli decoder KEVCVSS 4.0CRITICAL 9.2
- TI-2023-23979 The HTTP/2 protocol allows a denial of service (server resource consumption) because… KEVCVSS 3.1HIGH 7.5
- TI-2016-01993 The DES and Triple DES ciphers, as used in the TLS, SSH, and IPSec protocols and other… CVSS 3.1HIGH 7.5
- TI-2024-03325 Command injection vulnerability in programing languages on Microsoft Windows operating system. CVSS 3.1CRITICAL 9.8
- TI-2022-03472 X.509 Email Address Variable Length Buffer Overflow CVSS 3.1HIGH 7.5
- TI-2022-03315 X.509 Email Address 4-byte Buffer Overflow CVSS 3.1HIGH 7.5
Sources
- CVE-2023-30589 · CVE Program
- CVE-2023-30589 · NVD
- FIRST EPSS
- GHSA-cggh-pq45-6h9x · GitHub Advisory Database · CC BY 4.0
- CVE-2023-30589 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences