Skip to content
Fencer Vulns
high 7.5

CVE-2023-24807 json

Undici vulnerable to Regular Expression Denial of Service in Headers

published 2023-02-16 3 y ago modified 2026-09-10 1 mo ago also GHSA-r6ch-mqf9-qc9w , EUVD-2023-0786

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

Summary

Undici is an HTTP/1.1 client for Node.js. Prior to version 5.19.1, the `Headers.set()` and `Headers.append()` methods are vulnerable to Regular Expression Denial of Service (ReDoS) attacks when untrusted values are passed into the functions. This is due to the inefficient regular expression used to normalize the values in the `headerValueNormalize()` utility function. This vulnerability was patched in v5.19.1. No known workarounds are available.

Patch / fix

  • npm undici 5.19.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-24807

  • 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

  • nodejs18 openSUSE Tumbleweed 18.14.2-1.1
  • nodejs19 openSUSE Tumbleweed 19.7.0-1.1

opensuse advisories openSUSE-SU-2024:12725-1openSUSE-SU-2024:12726-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-24807

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-13585

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

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-24807 updated cvss 7.5

Node.js: Regular Expression Denial of Service in Headers fetch API

  • Red Hat 3scale API Management Platform 2 3scale-amp2/system-rhel7
    affected: no fix available “Fix deferred”
  • 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
none
Automatable
yes
Technical impact
partial
Assessed
19 mo ago

Exploit prediction

1.31% chance of exploitation in the next 30 days, higher than 70% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
NVD 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GitHub 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
npm undici
<5.19.1
5.19.1

Affected products

  • nodejs undici

Classification

Weakness
  • CWE-20 Improper Input Validation
  • CWE-1333 Inefficient Regular Expression Complexity

References

Sources

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.