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.
CVE-2025-23167 is fixed in 20 products on 2 platforms, first by Node.js 20 20.19.2, released May 14, 2025. It is not reported as exploited. Patch Radar priority: High.
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.
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Windows apps | |||
| Node.js 20 | 20.19.2 | Node.js 20 20.19.2 | May 14, 2025 |
| Linux | |||
| node-undici · Debian 14 | 7.15.0+dfsg+~cs3.2.0-1 | DEBIAN-CVE-2025-23167 | May 19, 2025 |
| nodejs · RHEL 8 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 | Jun 4, 2025 |
| nodejs · RHEL 9 | 1:20.19.2-1.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 | Jun 3, 2025 |
| nodejs · almalinux 8 | 1:20.19.2-1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 | Jun 4, 2025 |
| nodejs · rocky 8 | 1:20.19.2-1.module+el8.10.0+1988+437f3d23 | RLSA-2025:8514 | Jul 29, 2025 |
| nodejs · rocky 9 | 1:20.19.2-1.module+el9.6.0+32143+ae966e5b | RLSA-2025:8468 | Jul 29, 2025 |
| nodejs-devel · RHEL 8 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 | Jun 4, 2025 |
| nodejs-devel · RHEL 9 | 1:20.19.2-1.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 | Jun 3, 2025 |
| nodejs-devel · almalinux 8 | 1:20.19.2-1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 | Jun 4, 2025 |
| nodejs-docs · RHEL 8 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 | Jun 4, 2025 |
| nodejs-docs · RHEL 9 | 1:20.19.2-1.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 | Jun 3, 2025 |
| nodejs-docs · almalinux 8 | 1:20.19.2-1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 | Jun 4, 2025 |
| nodejs-full-i18n · RHEL 8 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 | Jun 4, 2025 |
| nodejs-full-i18n · RHEL 9 | 1:20.19.2-1.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 | Jun 3, 2025 |
| nodejs-full-i18n · almalinux 8 | 1:20.19.2-1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 | Jun 4, 2025 |
| nodejs-nodemon · RHEL 8 | 0:3.0.1-1.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 | Jun 4, 2025 |
| nodejs-nodemon · RHEL 9 | 0:3.0.1-1.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 | Jun 3, 2025 |
| nodejs-nodemon · almalinux 8 | 3.0.1-1.module_el8.10.0+3982+85c136aa | ALSA-2025:8514 | Jun 4, 2025 |
| nodejs-nodemon · rocky 8 | 0:3.0.1-1.module+el8.10.0+1988+437f3d23 | RLSA-2025:8514 | Jul 29, 2025 |
| nodejs-nodemon · rocky 9 | 0:3.0.1-1.module+el9.5.0+31770+0da7192d | RLSA-2025:8468 | Jul 29, 2025 |
| nodejs-packaging · RHEL 8 | 0:2021.06-4.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 | Jun 4, 2025 |
| nodejs-packaging · RHEL 9 | 0:2021.06-4.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 | Jun 3, 2025 |
| nodejs-packaging · almalinux 8 | 2021.06-4.module_el8.10.0+3987+dbda4426 | ALSA-2025:8514 | Jun 4, 2025 |
| nodejs-packaging · rocky 8 | 0:2021.06-4.module+el8.10.0+1667+4a788d89 | RLSA-2025:8514 | Jul 29, 2025 |
| nodejs-packaging · rocky 9 | 0:2021.06-4.module+el9.5.0+31770+0da7192d | RLSA-2025:8468 | Jul 29, 2025 |
| nodejs-packaging-bundler · RHEL 8 | 0:2021.06-4.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 | Jun 4, 2025 |
| nodejs-packaging-bundler · RHEL 9 | 0:2021.06-4.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 | Jun 3, 2025 |
| nodejs-packaging-bundler · almalinux 8 | 2021.06-4.module_el8.10.0+3958+472a6467 | ALSA-2025:8514 | Jun 4, 2025 |
| nodejs20 · amzn 2023 | 1:20.19.2-1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
| nodejs20 · opensuse-leap 15.6 | 20.19.2-150600.3.12.1 | SUSE-SU-2025:02045-1 | Jun 20, 2025 |
| nodejs20 · sles 15.6 | 20.19.2-150600.3.12.1 | SUSE-SU-2025:02045-1 | Jun 20, 2025 |
| nodejs20-debuginfo · amzn 2023 | 1:20.19.2-1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
| nodejs20-debugsource · amzn 2023 | 1:20.19.2-1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
| nodejs20-devel · amzn 2023 | 1:20.19.2-1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
| nodejs20-docs · amzn 2023 | 1:20.19.2-1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
| nodejs20-full-i18n · amzn 2023 | 1:20.19.2-1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
| nodejs20-libs · amzn 2023 | 1:20.19.2-1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
| nodejs20-libs-debuginfo · amzn 2023 | 1:20.19.2-1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
| nodejs20-npm · amzn 2023 | 1:10.8.2-1.20.19.2.1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
| npm · RHEL 8 | 1:10.8.2-1.20.19.2.1.module+el8.10.0+23139+21ba74c5 | RHSA-2025:8514 | Jun 4, 2025 |
| npm · RHEL 9 | 1:10.8.2-1.20.19.2.1.module+el9.6.0+23146+be9976bd | RHSA-2025:8468 | Jun 3, 2025 |
| npm · almalinux 8 | 1:10.8.2-1.20.19.2.1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 | Jun 4, 2025 |
| v8-11.3-devel · amzn 2023 | 3:11.3.244.8-1.20.19.2.1.amzn2023.0.1 | ALAS2023-2025-1010 | Jun 4, 2025 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.