Skip to content
Fencer Intel
medium 6.5

CVE-2023-23936 json

CRLF Injection in Nodejs ‘undici’ via host

published 3y ago modified 2mo ago also BIT-node-2023-23936 , BIT-node-min-2023-23936 , EUVD-2023-0633 , GHSA-5r9g-qh6m-jxff

cvss
6.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
1.1%
EPSS 1.1% chance of exploitation in 30 days, percentile 66%
public exploits
0
none known

Summary

Undici is an HTTP/1.1 client for Node.js. Starting with version 2.0.0 and prior to version 5.19.1, the undici library does not protect `host` HTTP header from CRLF injection vulnerabilities. This issue is patched in Undici v5.19.1. As a workaround, sanitize the `headers.host` string before passing to undici.

Patch / fix

  • npm undici 5.19.1
  • bitnami node 16.19.1, 18.14.1, 19.6.1
  • bitnami node-min 16.19.1, 18.14.1, 19.6.1
  • nodejs node.js 16.19.1, 18.14.1, 19.6.1
  • nodejs undici 5.19.1
  • node-undici Debian 12 5.15.0+dfsg1+~cs20.10.9.3-1+deb12u1
  • node-undici Debian 14, Debian 13 5.19.1+dfsg1+~cs20.10.9.5-1

debian advisories DEBIAN-CVE-2023-23936

  • npm RHEL 9 1:9.5.0-1.18.14.2.2.module+el9.2.0.z+18497+a402347c
  • nodejs RHEL 9 1:18.14.2-2.module+el9.2.0.z+18497+a402347c
  • nodejs-nodemon RHEL 9 2.0.20-2.module+el9.2.0.z+18497+a402347c
  • nodejs-full-i18n RHEL 9 1:18.14.2-2.module+el9.2.0.z+18497+a402347c
  • nodejs-packaging RHEL 9 2021.06-4.module+el9.1.0+15718+e52ec601
  • nodejs-packaging-bundler RHEL 9 2021.06-4.module+el9.1.0+15718+e52ec601
  • npm RHEL 8 1:9.5.0-1.18.14.2.2.module+el8.7.0+18445+9493b6ea
  • nodejs RHEL 8 1:18.14.2-2.module+el8.7.0+18445+9493b6ea

red hat advisories RHSA-2023:2654RHSA-2023:1583RHSA-2023:1582RHSA-2023:5533RHSA-2023:2655

  • nodejs18 SLE Module for Web and Scripting 15 SP4, openSUSE Leap 15.4 18.14.2-150400.9.6.2
  • nodejs18 SLE Module for Web and Scripting 12 18.14.2-8.6.2
  • nodejs16 SLES for SAP 15 SP3, SLES 15 SP3-LTSS, SLE High Performance Computing 15 SP3-LTSS +3 more 16.19.1-150300.7.18.1
  • nodejs16 SLE Module for Web and Scripting 12 16.19.1-8.24.1
  • nodejs16 SLE Module for Web and Scripting 15 SP4, openSUSE Leap 15.4 16.19.1-150400.3.15.1

suse advisories SUSE-SU-2023:0738-1SUSE-SU-2023:0715-1SUSE-SU-2023:0673-1SUSE-SU-2023:0609-1SUSE-SU-2023:0608-1

  • npm AlmaLinux 9 1:9.5.0-1.18.14.2.2.module_el9.2.0+29+de583a0b
  • nodejs AlmaLinux 9 1:18.14.2-2.module_el9.2.0+29+de583a0b
  • nodejs-nodemon AlmaLinux 9 2.0.20-2.module_el9.2.0+29+de583a0b
  • nodejs-full-i18n AlmaLinux 9 1:18.14.2-2.module_el9.2.0+29+de583a0b
  • nodejs-packaging AlmaLinux 9 2021.06-4.module_el9.1.0+13+d9a595ea
  • nodejs-packaging-bundler AlmaLinux 9 2021.06-4.module_el9.1.0+13+d9a595ea
  • nodejs AlmaLinux 9 1:16.19.1-1.el9_2
  • npm AlmaLinux 9 1:8.19.3-1.16.19.1.1.el9_2

almalinux advisories ALSA-2023:2654ALSA-2023:2655ALSA-2023:1582ALSA-2023:1583

  • nodejs-packaging Rocky Linux 9 2021.06-4.module+el9.7.0+40025+0e0cf6b2
  • nodejs-packaging Rocky Linux 9 2021.06-4.module+el9.7.0+40017+f0db1785
  • nodejs-packaging Rocky Linux 9 2021.06-4.module+el9.7.0+40018+a011993d
  • nodejs-packaging Rocky Linux 9 2021.06-4.module+el9.7.0+40022+9ecc286c
  • nodejs Rocky Linux 9 1:16.19.1-1.el9_2
  • nodejs-nodemon Rocky Linux 9 2.0.20-3.el9_2
  • nodejs Rocky Linux 8 1:16.19.1-1.module+el8.7.0+1178+d52dba78
  • nodejs-nodemon Rocky Linux 8 2.0.20-3.module+el8.7.0+1178+d52dba78

rocky linux advisories RLSA-2023:2654RLSA-2023:2655RLSA-2023:1582RLSA-2023:1583

  • nodejs Alpine 3.16, Alpine 3.15 16.19.1-r0
  • nodejs Alpine 3.24, Alpine 3.23, Alpine 3.22 +5 more 18.14.1-r0

alpine advisories ALPINE-CVE-2023-23936

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • nodejs CBL-Mariner 2.0 16.19.1-1

azure linux advisories AZL-13604

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

Is CVE-2023-23936 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2023-23936 updated cvss 6.5

Node.js: Fetch API did not protect against CRLF injection in host headers

  • Red Hat 3scale API Management Platform 2 3scale-amp2/system-rhel7
    affected: no fix planned “Will not fix”
  • Red Hat Enterprise Linux AppStream (v. 8) nodejs 16.19.1-1.module+el8.7.0+18373+704f5cef, nodejs 18.14.2-2.module+el8.7.0+18445+9493b6ea, nodejs-packaging 25-1.module+el8.5.0+10992+fac5fe06, npm 9.5.0-1.18.14.2.2.module+el8.7.0+18445+9493b6ea, npm 8.19.3-1.16.19.1.1.module+el8.7.0+18373+704f5cef, nodejs-nodemon 2.0.20-2.module+el8.7.0+18445+9493b6ea, +5 more
    fixed: vendor fix RHSA-2023:1582
  • Red Hat Enterprise Linux AppStream (v. 9) nodejs 16.19.1-1.el9_2, nodejs-libs 16.19.1-1.el9_2, npm 8.19.3-1.16.19.1.1.el9_2, nodejs-full-i18n 16.19.1-1.el9_2, nodejs 18.14.2-2.module+el9.2.0.z+18497+a402347c, npm 9.5.0-1.18.14.2.2.module+el9.2.0.z+18497+a402347c, +4 more
    fixed: vendor fix RHSA-2023:2655
  • Red Hat Enterprise Linux AppStream EUS (v.9.0) nodejs 16.20.2-1.el9_0, nodejs-libs 16.20.2-1.el9_0, npm 8.19.4-1.16.20.2.1.el9_0, nodejs-full-i18n 16.20.2-1.el9_0
    fixed: vendor fix RHSA-2023:5533
  • Red Hat Enterprise Linux 8 npm, nodejs, nodejs-libs, nodejs-nodemon, nodejs-full-i18n, nodejs-packaging, +1 more Red Hat Enterprise Linux AppStream (v. 9) nodejs-nodemon 2.0.20-3.el9_2
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
Proof of concept is public
Automatable
yes
Technical impact
partial
Assessed
last yr.

Exploit prediction

1.13% chance of exploitation in the next 30 days, higher than 66% of all scored CVEs (FIRST EPSS, 2026-11-14).

Exploits and checks

  • hackerone.com https://hackerone.com/reports/1820955 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 3.1 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
GitHub 3.1 4.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N
NVD 3.1 5.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
OSV 3.1 5.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N

Affected packages

ecosystem package affected fixed in
npm undici
>=2.0.0, <5.19.1
5.19.1
bitnami node
>=16.0.0, <16.19.1
>=18.0.0, <18.14.1
>=19.0.0, <19.6.1
16.19.1
18.14.1
19.6.1
bitnami node-min
>=16.0.0, <16.19.1
>=18.0.0, <18.14.1
>=19.0.0, <19.6.1
16.19.1
18.14.1
19.6.1

Affected products

  • nodejs undici

Classification

Weakness
  • CWE-93 Improper Neutralization of CRLF Sequences
  • CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component
Technology feeds

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

The maintainers of nodejs/undici published their own advisory on GitHub. Reviewed sources take precedence over it.