Description
undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.
Published: 2026-10-15
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

An internal response stream is created in undici’s fetch() before validating the number of content encodings. When a malicious server sends a response with more than five content‑codings and closes the connection before the body is transmitted, undici rejects the response after the stream has already been created. The early close causes a content‑length mismatch on an orphaned stream; Node.js treats this as an unhandled error and terminates the process. The flaw allows remote, unauthenticated attackers to trigger a fatal crash with a single crafted response, causing a denial of service even when the application correctly handles the fetch() rejection.

Affected Systems

The issue affects the undici HTTP client library for Node.js in release ranges 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1. Users of these versions, regardless of the consuming application, are vulnerable.

Risk and Exploitability

This vulnerability has a CVSS score of 7.5, indicating a moderate to high severity. The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog. The attack vector is remote and unauthenticated; any Node.js application that reaches out to untrusted servers and uses undici’s fetch() is susceptible. Exploit requires no privileged access and can be performed with a single malicious HTTP response.

Generated by OpenCVE AI on October 16, 2026 at 06:42 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade undici to version 6.29.1 or later, 7.30.1 or later, or 8.12.2 or later.
  • If an upgrade is not immediately feasible, consider restricting outbound HTTP traffic to trusted origins or routing requests through a proxy that removes or validates excessive content‑encoding headers.
  • Implement application level monitoring to detect sudden Node.js process exits and automatically restart the service to mitigate downtime until a fix can be applied.

Generated by OpenCVE AI on October 16, 2026 at 06:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-xjj6-f33q-929c undici vulnerable to Denial of Service via unhandled error on excessive content-encodings
History

Mon, 19 Oct 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Nodejs
Nodejs undici
CPEs cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*
Vendors & Products Nodejs
Nodejs undici

Sat, 17 Oct 2026 09:30:00 +0000

Type Values Removed Values Added
First Time appeared Undici
Undici undici
Vendors & Products Undici
Undici undici

Fri, 16 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 16 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Thu, 15 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Description undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.
Title undici vulnerable to Denial of Service via unhandled error on excessive content-encodings
Weaknesses CWE-248
CWE-459
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-10-16T20:06:00.782Z

Reserved: 2026-10-13T08:52:10.454Z

Link: CVE-2026-109869

cve-icon Vulnrichment

Updated: 2026-10-16T20:05:50.367Z

cve-icon NVD

Status : Analyzed

Published: 2026-10-15T19:17:21.770

Modified: 2026-10-19T20:45:20.340

Link: CVE-2026-109869

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-15T18:08:31Z

Links: CVE-2026-109869 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-17T09:15:06Z

Weaknesses