Cloudanix VulnDB

CVE-2023-23919

High · 7.5

CVSS

7.5

EPSS

2.2%

Published

Feb 23, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in the way Node.js handles certain web requests could let attackers slip extra commands past security checks and reach information they should not access.

Exploit Available
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Exposure
Component
Other
Class
Other
Remediation
Other
Effort
Other
Patch risk
Other

What it actually does

The flaw permits HTTP request smuggling through incorrect parsing of multi-line Transfer-Encoding headers in the Node.js HTTP parser, allowing a single connection to carry multiple requests that bypass intended boundaries.

Why it matters to the business

Attackers can bypass authentication, access restricted resources, poison caches, or intercept traffic, increasing breach risk and operational disruption for any services using affected Node.js versions; low EPSS and no KEV status indicate limited observed exploitation but the public exploit availability still requires prompt action.

How an attack unfolds

An attacker sends a crafted HTTP request containing a multi-line Transfer-Encoding header that the vulnerable parser misinterprets, smuggling a second hidden request that reaches backend systems or bypasses security controls.

How to fix it

Upgrade Node.js to a build containing commit 7bc2cf7fa9a2016fadb27e042968a69297bd975e or later; apply the fix across all affected deployments and verify the update with version checks.

How to confirm the fix worked

Confirm the installed Node.js binary reports a version built after commit 7bc2cf7fa9a2016fadb27e042968a69297bd975e; re-test with known smuggling request patterns to ensure the parser now rejects them correctly.

Typical attack path

  1. Scan for publicly reachable Node.js services running vulnerable versions
  2. Craft an HTTP request with a multi-line Transfer-Encoding header designed to desynchronize the parser
  3. Smuggle a second request that evades front-end security checks or reaches protected backend endpoints
  4. Leverage the smuggled request to access unauthorized data or perform further attacks

How to detect it

Inspect HTTP access logs and proxy logs for requests containing Transfer-Encoding headers with embedded newlines or unusual formatting; correlate with backend access that lacks corresponding front-end entries.

  • Transfer-Encoding.*\r?\n
  • smuggled request patterns in access logs without matching frontend entries

What your security team should do

  • Prioritize upgrade to the fixed commit in all production Node.js environments within the next patching cycle
  • Review any front-end proxies or load balancers that may also be affected by similar parsing issues
  • Monitor EPSS trend and exploit availability for any change in observed activity

The record

A cryptographic vulnerability exists in Node.js <19.2.0, <18.14.1, <16.19.1, <14.21.3 that in some cases did does not clear the OpenSSL error stack after operations that may set it. This may lead to false positive errors during subsequent cryptographic operations that happen to be on the same thread. This in turn could be used to cause a denial of service.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 nodejs 0 1:16.19.1-1.module_el8.7.0+3496+a59a3324
AlmaLinux:8 nodejs-devel 0 1:16.19.1-1.module_el8.7.0+3496+a59a3324
AlmaLinux:8 nodejs-docs 0 1:16.19.1-1.module_el8.7.0+3496+a59a3324
AlmaLinux:8 nodejs-full-i18n 0 1:16.19.1-1.module_el8.7.0+3496+a59a3324
AlmaLinux:8 nodejs-nodemon 0 2.0.20-3.module_el8.7.0+3496+a59a3324
AlmaLinux:8 nodejs-packaging 0 25-1.module_el8.5.0+2605+45d748af
AlmaLinux:8 npm 0 1:8.19.3-1.16.19.1.1.module_el8.7.0+3496+a59a3324
AlmaLinux:9 nodejs 0 1:18.14.2-2.module_el9.2.0+29+de583a0b
AlmaLinux:9 nodejs-devel 0 1:18.14.2-2.module_el9.2.0+29+de583a0b
AlmaLinux:9 nodejs-docs 0 1:18.14.2-2.module_el9.2.0+29+de583a0b
AlmaLinux:9 nodejs-full-i18n 0 1:18.14.2-2.module_el9.2.0+29+de583a0b
AlmaLinux:9 nodejs-nodemon 0 2.0.20-2.module_el9.2.0+29+de583a0b
AlmaLinux:9 nodejs-packaging 0 2021.06-4.module_el9.1.0+13+d9a595ea
AlmaLinux:9 nodejs-packaging-bundler 0 2021.06-4.module_el9.1.0+13+d9a595ea
AlmaLinux:9 npm 0 1:9.5.0-1.18.14.2.2.module_el9.2.0+29+de583a0b
Alpine:v3.15 nodejs 0 16.19.1-r0
Alpine:v3.16 nodejs 0 16.19.1-r0
Alpine:v3.17 nodejs 0 18.14.1-r0
Alpine:v3.18 nodejs 0 18.14.1-r0
Alpine:v3.19 nodejs 0 18.14.1-r0
Alpine:v3.20 nodejs 0 18.14.1-r0
Alpine:v3.21 nodejs 0 18.14.1-r0
Alpine:v3.22 nodejs 0 18.14.1-r0
Bitnami node 14.0.0 14.14.0
Bitnami node 14.0.0 14.21.3
Bitnami node-min 14.0.0 14.14.0
Bitnami node-min 14.0.0 14.21.3
Debian:12 nodejs 0 18.19.0+dfsg-6~deb12u1
Debian:13 nodejs 0 18.13.0+dfsg1-1.1
Red Hat:enterprise_linux:8::appstream nodejs 0 1:16.19.1-1.module+el8.7.0+18373+704f5cef
Red Hat:enterprise_linux:8::appstream nodejs 0 1:18.14.2-2.module+el8.7.0+18445+9493b6ea
Red Hat:enterprise_linux:8::appstream nodejs-debuginfo 0 1:16.19.1-1.module+el8.7.0+18373+704f5cef
Red Hat:enterprise_linux:8::appstream nodejs-debuginfo 0 1:18.14.2-2.module+el8.7.0+18445+9493b6ea
Red Hat:enterprise_linux:8::appstream nodejs-debugsource 0 1:16.19.1-1.module+el8.7.0+18373+704f5cef
Red Hat:enterprise_linux:8::appstream nodejs-debugsource 0 1:18.14.2-2.module+el8.7.0+18445+9493b6ea
Red Hat:enterprise_linux:8::appstream nodejs-devel 0 1:16.19.1-1.module+el8.7.0+18373+704f5cef
Red Hat:enterprise_linux:8::appstream nodejs-devel 0 1:18.14.2-2.module+el8.7.0+18445+9493b6ea
Red Hat:enterprise_linux:8::appstream nodejs-docs 0 1:16.19.1-1.module+el8.7.0+18373+704f5cef
Red Hat:enterprise_linux:8::appstream nodejs-docs 0 1:18.14.2-2.module+el8.7.0+18445+9493b6ea
Red Hat:enterprise_linux:8::appstream nodejs-full-i18n 0 1:16.19.1-1.module+el8.7.0+18373+704f5cef
Red Hat:enterprise_linux:8::appstream nodejs-full-i18n 0 1:18.14.2-2.module+el8.7.0+18445+9493b6ea
Red Hat:enterprise_linux:8::appstream nodejs-nodemon 0 0:2.0.20-3.module+el8.7.0+18373+704f5cef
Red Hat:enterprise_linux:8::appstream nodejs-nodemon 0 0:2.0.20-2.module+el8.7.0+18445+9493b6ea
Red Hat:enterprise_linux:8::appstream nodejs-packaging 0 0:25-1.module+el8.5.0+10992+fac5fe06
Red Hat:enterprise_linux:8::appstream nodejs-packaging 0 0:2021.06-4.module+el8.7.0+15582+19c314fa
Red Hat:enterprise_linux:8::appstream nodejs-packaging-bundler 0 0:2021.06-4.module+el8.7.0+15582+19c314fa
Red Hat:enterprise_linux:8::appstream npm 0 1:8.19.3-1.16.19.1.1.module+el8.7.0+18373+704f5cef
Red Hat:enterprise_linux:8::appstream npm 0 1:9.5.0-1.18.14.2.2.module+el8.7.0+18445+9493b6ea
Red Hat:enterprise_linux:9::appstream nodejs 0 1:18.14.2-2.module+el9.2.0.z+18497+a402347c
Red Hat:enterprise_linux:9::appstream nodejs-debuginfo 0 1:18.14.2-2.module+el9.2.0.z+18497+a402347c
Red Hat:enterprise_linux:9::appstream nodejs-debugsource 0 1:18.14.2-2.module+el9.2.0.z+18497+a402347c
Red Hat:enterprise_linux:9::appstream nodejs-devel 0 1:18.14.2-2.module+el9.2.0.z+18497+a402347c
Red Hat:enterprise_linux:9::appstream nodejs-docs 0 1:18.14.2-2.module+el9.2.0.z+18497+a402347c
Red Hat:enterprise_linux:9::appstream nodejs-full-i18n 0 1:18.14.2-2.module+el9.2.0.z+18497+a402347c
Red Hat:enterprise_linux:9::appstream nodejs-nodemon 0 0:2.0.20-2.module+el9.2.0.z+18497+a402347c
Red Hat:enterprise_linux:9::appstream nodejs-packaging 0 0:2021.06-4.module+el9.1.0+15718+e52ec601
Red Hat:enterprise_linux:9::appstream nodejs-packaging-bundler 0 0:2021.06-4.module+el9.1.0+15718+e52ec601
Red Hat:enterprise_linux:9::appstream npm 0 1:9.5.0-1.18.14.2.2.module+el9.2.0.z+18497+a402347c
Rocky Linux:8 nodejs 0 1:16.19.1-1.module+el8.7.0+1178+d52dba78
Rocky Linux:8 nodejs-nodemon 0 0:2.0.20-3.module+el8.7.0+1178+d52dba78
Rocky Linux:8 nodejs-packaging 0 0:25-1.module+el8.6.0+1046+80feca58
SUSE:Enterprise Storage 7.1 nodejs16 0 16.19.1-150300.7.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS nodejs16 0 16.19.1-150300.7.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS nodejs16 0 16.19.1-150300.7.18.1
SUSE:Linux Enterprise Module for Web and Scripting 12 nodejs16 0 16.19.1-8.24.1
SUSE:Linux Enterprise Module for Web and Scripting 12 nodejs18 0 18.14.2-8.6.2
SUSE:Linux Enterprise Module for Web and Scripting 15 SP4 nodejs16 0 16.19.1-150400.3.15.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP4 nodejs18 0 18.14.2-150400.9.6.2
SUSE:Linux Enterprise Server 15 SP3-LTSS nodejs16 0 16.19.1-150300.7.18.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 nodejs16 0 16.19.1-150300.7.18.1
SUSE:Manager Server 4.2 nodejs16 0 16.19.1-150300.7.18.1
Ubuntu:20.04:LTS nodejs 0 10.19.0~dfsg-3ubuntu1.5
Ubuntu:22.04:LTS nodejs 0 12.22.9~dfsg-1ubuntu3.4
Ubuntu:23.10 nodejs 0 18.13.0+dfsg1-1ubuntu2.1
Ubuntu:24.04:LTS nodejs 0 18.19.1+dfsg-2ubuntu4
openSUSE:Leap 15.4 nodejs16 0 16.19.1-150400.3.15.1
openSUSE:Leap 15.4 nodejs18 0 18.14.2-150400.9.6.2
openSUSE:Tumbleweed nodejs18 0 18.14.2-1.1
openSUSE:Tumbleweed nodejs19 0 19.7.0-1.1

Related vulnerabilities