GitHub Advisoryadvisory · npm

GHSA-g9mf-h72j-4rw9 Undici has an unbounded decompression chain in HTTP responses on Node.js Fetch API via Content-Encoding leads to resource exhaustion

MEDIUM Published 2026-01-14 Modified 2026-01-22 Official page ↗
Aliases
CVE-2026-22036
Ecosystem
npm
Packages
undici
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-770
Reviewed
2026-01-14

Affected packages

• npm undici: >= 7.0.0, < 7.18.2 → fixed in 7.18.2 • npm undici: < 6.23.0 → fixed in 6.23.0

Description

Impact The `fetch()` API supports chained HTTP encoding algorithms for response content according to RFC 9110 (e.g., Content-Encoding: gzip, br). This is also supported by the undici decompress interceptor. However, the number of links in the decompression chain is unbounded and the default maxHeaderSize allows a malicious server to insert thousands compression steps leading to high CPU usage and excessive memory allocation. Patches Upgrade to 7.18.2 or 6.23.0. Workarounds It is possible to apply an undici interceptor and filter long `Content-Encoding` sequences manually. References • https://hackerone.com/reports/3456148 • https://github.com/advisories/GHSA-gm62-xv2j-4w53 • https://curl.se/docs/CVE-2022-32206.html

Related

Alias · CVE (1)

  • CVE-2026-22036 Undici is an HTTP/1.1 client for Node.js. vulnerability

Weakness · CWE (1)

  • CWE-770 Allocation of Resources Without Limits or Throttling weakness

References