CVE-2023-23936 json
CRLF Injection in Nodejs ‘undici’ via host
published 2023-02-16 3 y ago modified 2026-09-10 1 mo 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
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-rhel7affected: 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 morefixed: 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 morefixed: 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_0fixed: 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_2not 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
- 19 mo ago
Exploit prediction
1.13% chance of exploitation in the next 30 days, higher than 66% of all scored CVEs (FIRST EPSS, 2026-11-08).
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
- Technology feeds
References
-
github.com
/nodejs/undici/commit/a2eff05401358f6595138df963837c24348f2034
web, patch
-
hackerone.com
/reports/1820955
web, exploit, third-party-advisory, advisory
-
github.com
/nodejs/undici/security/advisories/GHSA-5r9g-qh6m-jxff
web, vendor-advisory, advisory
-
github.com
/nodejs/undici/releases/tag/v5.19.1
web, release-notes, article
-
nvd.nist.gov
/vuln/detail/CVE-2023-23936
advisory, web
-
github.com
/nodejs/undici
package
Sources
- CVE List CVE-2023-23936
- GitHub Advisory GHSA-5r9g-qh6m-jxff
- NVD CVE-2023-23936
- OSV BIT-node-2023-23936
- OSV BIT-node-min-2023-23936
Fencer Vulns 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.