Description
A flaw in Node.js 20's HTTP parser allows improper termination of HTTP/1 headers using `\r\n\rX` instead of the required `\r\n\r\n`.
This inconsistency enables request smuggling, allowing attackers to bypass proxy-based access controls and submit unauthorized requests.
The issue was resolved by upgrading `llhttp` to version 9, which enforces correct header termination.
Impact:
* This vulnerability affects only Node.js 20.x users prior to the `llhttp` v9 upgrade.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| nodejs | node | 4.0 – < 4.*, 5.0 – < 5.*, 6.0 – < 6.*, 7.0 – < 7.*, 8.0 – < 8.*, 9.0 – < 9.*, 10.0 – < 10.*, 11.0 – < 11.*, 12.0 – < 12.*, 13.0 – < 13.*, 14.0 – < 14.*, 15.0 – < 15.*, 16.0 – < 16.*, 17.0 – < 17.*, 18.0 – < 18.*, 19.0 – < 19.*, 20.0 – ≤ 20.19.1 | 4.* |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | node-undici | 7.15.0+dfsg+~cs3.2.0-1 | — |
| Debian 13 | node-undici | No fix yet | — |
| Debian 12 | node-undici | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 9 | nodejs +3 | 1:20.19.2-1.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 |
| RHEL 9 | nodejs-nodemon | 3.0.1-1.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 |
| RHEL 9 | nodejs-packaging +1 | 2021.06-4.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 |
| RHEL 9 | npm | 1:10.8.2-1.20.19.2.1.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 |
| RHEL 8 | nodejs +3 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 |
| RHEL 8 | nodejs-nodemon | 3.0.1-1.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 |
| RHEL 8 | nodejs-packaging +1 | 2021.06-4.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 |
| RHEL 8 | npm | 1:10.8.2-1.20.19.2.1.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 |
AlmaLinux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux 8 | nodejs +3 | 1:20.19.2-1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 |
| AlmaLinux 8 | nodejs-nodemon | 3.0.1-1.module_el8.10.0+3982+85c136aa | ALSA-2025:8514 |
| AlmaLinux 8 | nodejs-packaging | 2021.06-4.module_el8.10.0+3987+dbda4426 | ALSA-2025:8514 |
| AlmaLinux 8 | nodejs-packaging-bundler | 2021.06-4.module_el8.10.0+3958+472a6467 | ALSA-2025:8514 |
| AlmaLinux 8 | npm | 1:10.8.2-1.20.19.2.1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 9 | nodejs | 1:20.19.2-1.module+el9.6.0+32143+ae966e5b | RLSA-2025:8468 |
| Rocky Linux 9 | nodejs-nodemon | 3.0.1-1.module+el9.5.0+31770+0da7192d | RLSA-2025:8468 |
| Rocky Linux 9 | nodejs-packaging | 2021.06-4.module+el9.5.0+31770+0da7192d | RLSA-2025:8468 |
| Rocky Linux 8 | nodejs | 1:20.19.2-1.module+el8.10.0+1988+437f3d23 | RLSA-2025:8514 |
| Rocky Linux 8 | nodejs-nodemon | 3.0.1-1.module+el8.9.0+1760+903d54b9 | RLSA-2025:8514 |
| Rocky Linux 8 | nodejs-packaging | 2021.06-4.module+el8.9.0+1419+1f26ef47 | RLSA-2025:8514 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP6 | nodejs20 | 20.19.2-150600.3.12.1 | SUSE-SU-2025:02045-1 |
| SLES 15 SP5 | nodejs18 | 18.20.8-150400.9.39.1 | SUSE-SU-2026:4261-1 |
| SLES 15 SP5 | nodejs20 | 20.19.2-150500.11.21.1 | SUSE-SU-2025:02039-1 |
| SLES 15 SP4 | nodejs16 | 16.20.2-150400.3.42.1 | SUSE-SU-2026:4355-1 |
| SLES 15 SP4 | nodejs18 | 18.20.8-150400.9.39.1 | SUSE-SU-2026:4261-1 |
| SLES 12 SP5 | nodejs18 | 18.20.8-8.44.1 | SUSE-SU-2026:4248-1 |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP5 | nodejs18 | 18.20.8-150400.9.39.1 | SUSE-SU-2026:4261-1 |
| SLES for SAP 15 SP5 | nodejs20 | 20.19.2-150500.11.21.1 | SUSE-SU-2025:02039-1 |
| SLES for SAP 15 SP4 | nodejs16 | 16.20.2-150400.3.42.1 | SUSE-SU-2026:4355-1 |
| SLES for SAP 15 SP4 | nodejs18 | 18.20.8-150400.9.39.1 | SUSE-SU-2026:4261-1 |
| SLE HPC 15 SP5 | nodejs18 | 18.20.8-150400.9.39.1 | SUSE-SU-2026:4261-1 |
| SLE HPC 15 SP5 | nodejs20 | 20.19.2-150500.11.21.1 | SUSE-SU-2025:02039-1 |
| SLE HPC 15 SP4 | nodejs16 | 16.20.2-150400.3.42.1 | SUSE-SU-2026:4355-1 |
| SLE HPC 15 SP4 | nodejs18 | 18.20.8-150400.9.39.1 | SUSE-SU-2026:4261-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.6 | nodejs20 | 20.19.2-150600.3.12.1 | SUSE-SU-2025:02045-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | nodejs20 +4 | 1:20.19.2-1.amzn2023.0.1 | ALAS2023-2025-1010 |
| Amazon Linux 2023 | nodejs20-npm | 1:10.8.2-1.20.19.2.1.amzn2023.0.1 | ALAS2023-2025-1010 |
| Amazon Linux 2023 | v8-11.3-devel | 3:11.3.244.8-1.20.19.2.1.amzn2023.0.1 | ALAS2023-2025-1010 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | nodejs | No fix yet | — |
| Azure Linux 2 (CBL-Mariner) | nodejs18 | No fix yet | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | nodejs-16 | 16.20.2-r15 | — |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
GitHub 1 repository
-
abhisek3122/CVE-2025-23167 ★ 1 · Jul 15, 2025
Working exploit for CVE-2025-23167 – HTTP request smuggling in vulnerable Node.js 20.x versions before 20.19.2
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Advisories 12
- ALSA-2025:8514 Important: nodejs:20 security update AlmaLinux Security Advisories · Nov 6, 2026
- SUSE-SU-2026:4355-1 Security update for nodejs16 SUSE / openSUSE Security Updates · Sep 29, 2026
- WID-SEC-2025-1055 Node.js: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 28, 2026
- SUSE-SU-2026:4261-1 Security update for nodejs18 SUSE / openSUSE Security Updates · Sep 18, 2026
- SUSE-SU-2026:4248-1 Security update for nodejs18 SUSE / openSUSE Security Updates · Sep 18, 2026
- RHSA-2025:8514 Red Hat Security Advisory: nodejs:20 security update Red Hat Security Advisories (RHSA) · Aug 7, 2026
- RHSA-2025:8468 Red Hat Security Advisory: nodejs:20 security update Red Hat Security Advisories (RHSA) · Aug 7, 2026
- SUSE-SU-2025:02045-1 Security update for nodejs20 SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02039-1 Security update for nodejs20 SUSE / openSUSE Security Updates · Mar 23, 2026
- RLSA-2025:8468 Important: nodejs:20 security update Rocky Linux Security Advisories · Oct 7, 2025
- RLSA-2025:8514 Important: nodejs:20 security update Rocky Linux Security Advisories · Jul 29, 2025
- ALAS2023-2025-1010 Important: nodejs20 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Jun 10, 2025