GHSA-cggh-pq45-6h9x · Severity: high · Ecosystem: npm — 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
Conclusion & alert: CVE-2023-30589 is rated High Exploit Risk (76.6/100): CVSS High severity, with medium exploitation likelihood (EPSS 3.91%). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
| EDB-ID | Source | Kind | Published | Link |
|---|---|---|---|---|
| — | nvd_ref | exploit_tag | Exploit-DB ↗ |
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-06-21 | 3.47% | 3.91% | +0.44% |
| 2 | 2026-06-15 | 1.92% | 3.47% | +1.55% |
| 3 | 2026-03-25 | — | 1.92% | — |
Full EPSS history (44 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 7.5 | 3.1 | HIGH |
|
3.9 | 3.6 | [email protected] |
GHSA-cggh-pq45-6h9x · Severity: high · Ecosystem: npm — llhttp vulnerable to HTTP request smuggling
| vendor | priority | summary | link |
|---|---|---|---|
alpine
|
— | CVE-2023-30589: 3 source package rows (nodejs, openjdk17, openjdk17-ppc64le-bootstrap); 39 state rows across 11 repos (3.18-community, 3.19-community, 3.19-main, 3.20-community, 3.20-main, 3.21-community, 3.21-main, 3.22-community, 3.22-main, edge-community, edge-main); fixed 7, open 32. | https://security.alpinelinux.org/vuln/CVE-2023-30589 |
debian
|
unimportant | CVE-2023-30589 unimportant priority: Debian including 2 source packages (llhttp, nodejs), 7 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 7. | https://security-tracker.debian.org/tracker/CVE-2023-30589 |
gentoo
|
low | CVE-2023-30589: 1 GLSA(s) (202405-29), 1 atom(s) (net-libs/nodejs); latest impact low. | https://bugs.gentoo.org/buglist.cgi?quicksearch=CVE-2023-30589 |
redhat
|
medium | — | https://access.redhat.com/security/cve/CVE-2023-30589 |
suse
|
medium | CVE-2023-30589 severity moderate: SUSE including 62 source package names (16-18.3:nodejs16-16.20.1-150400.3.21.1, 16-18.3:npm16-16.20.1-150400.3.21.1, …), 221 product×package rows across 23 product lines (Container bci/nodejs, SUSE Enterprise Storage 7, … (23 product lines)): Fixed 220, Known Not Affected 1. | https://www.suse.com/security/cve/CVE-2023-30589/ |
ubuntu
|
medium | CVE-2023-30589 medium priority: Ubuntu including 1 source packages (nodejs), 10 status rows across 10 suites (bionic, focal, jammy, kinetic, lunar, mantic, noble, trusty, upstream, xenial): not-affected 6, ignored 2, needs-triage 1, released 1. | https://ubuntu.com/security/CVE-2023-30589 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| nodejs | node.js | >= 16.0.0, < 16.20.1 | cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* |
| nodejs | node.js | >= 18.0.0, < 18.16.1 | cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* |
| nodejs | node.js | >= 20.0.0, < 20.3.1 | cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* |
| fedoraproject | fedora | 37 | cpe:2.3:o:fedoraproject:fedora:37:*:*:*:*:*:*:* |
| fedoraproject | fedora | 38 | cpe:2.3:o:fedoraproject:fedora:38:*:*:*:*:*:*:* |