Skip to content
OpenAdvisories
Medium · 6.5 Public exploit CVE-2025-23167 EUVD-2025-27706GHSA-hchw-qwx7-4w4c

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 i…

Published May 19, 2025 · Updated May 27, 2025 · Assigned by hackerone

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

VendorProductAffectedFixed
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.

ReleasePackageFixed inAdvisory
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 —
ReleasePackageFixed inAdvisory
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 ↗
ReleasePackageFixed inAdvisory
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 ↗
ReleasePackageFixed inAdvisory
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
ReleasePackageFixed inAdvisory
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)
ReleasePackageFixed inAdvisory
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
ReleasePackageFixed inAdvisory
openSUSE Leap 15.6 nodejs20 20.19.2-150600.3.12.1 SUSE-SU-2025:02045-1

Amazon Linux

ReleasePackageFixed inAdvisory
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

ReleasePackageFixed inAdvisory
Azure Linux 3 nodejs No fix yet —
Azure Linux 2 (CBL-Mariner) nodejs18 No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
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.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

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

References