Description
undici is an HTTP client library for Node.js. In versions 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1, its decompress interceptor forwards decompressed response data to the downstream handler from zlib stream event callbacks without catching exceptions those callbacks may throw, and while undici's engine converts a synchronous throw from a downstream handler into a per-request failure, that protection is absent when the throw happens asynchronously from a zlib callback. As a result, a downstream handler that throws by design, such as the built-in dump interceptor which throws when a response exceeds its configured maximum size, escapes as an uncaught exception that terminates the Node.js process. A malicious or compromised HTTP server can crash any client that composes the decompress interceptor with such a handler by returning a small compressed body that decompresses to more than the configured limit, so only the decompressed size matters and the bytes on the wire stay tiny. The issue is fixed in undici 7.30.1 and 8.12.2, and users should upgrade to one of those versions or later. As a workaround, avoid composing the decompress interceptor with a response handler that throws during response processing until upgrading.
Published: 2026-10-15
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via process termination
Action: Upgrade Immediately
AI Analysis

Impact

undici, a Node.js HTTP client library, forwards data from zlib’s decompress callbacks to downstream handlers without catching exceptions that those callbacks may throw. When a downstream handler—such as the built‑in dump interceptor—throws intentionally after decompression, the asynchronous exception propagates uncaught and terminates the Node.js process. The result is a denial of service that crashes any client that uses the decompress interceptor with a throwing handler, interrupting the availability of the affected application.

Affected Systems

Vulnerable instances include undici versions 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1. Any deployment that composes the decompress interceptor with a response handler that throws on large bodies is at risk. This includes projects that rely on the built‑in dump interceptor or custom handlers that call throw on size limits.

Risk and Exploitability

The CVSS score of 5.9 indicates moderate severity, and the EPSS score is not available, so there is no publicly reported exploitation data yet. The vulnerability is not listed in CISA’s KEV catalog. An attacker can trigger the crash by sending a small compressed payload that decompresses to a size larger than the configured limit, making the likely attack vector remote HTTP requests from a malicious or compromised server.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade undici to a patched version (≥7.30.1 or ≥8.12.2) or later to eliminate the vulnerability.
  • Refactor your code so that no downstream handler attached to the decompress interceptor throws exceptions during decompression; if a custom handler must signal an error, wrap its logic in a try/catch block to capture and handle the exception.
  • Conduct a test against a maliciously crafted compressed response that exceeds the configured limit to confirm that the Node.js process no longer crashes after the upgrade or refactor.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', '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

Moderate


Thu, 15 Oct 2026 19:00:00 +0000

Type Values Removed Values Added
Description undici is an HTTP client library for Node.js. In versions 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1, its decompress interceptor forwards decompressed response data to the downstream handler from zlib stream event callbacks without catching exceptions those callbacks may throw, and while undici's engine converts a synchronous throw from a downstream handler into a per-request failure, that protection is absent when the throw happens asynchronously from a zlib callback. As a result, a downstream handler that throws by design, such as the built-in dump interceptor which throws when a response exceeds its configured maximum size, escapes as an uncaught exception that terminates the Node.js process. A malicious or compromised HTTP server can crash any client that composes the decompress interceptor with such a handler by returning a small compressed body that decompresses to more than the configured limit, so only the decompressed size matters and the bytes on the wire stay tiny. The issue is fixed in undici 7.30.1 and 8.12.2, and users should upgrade to one of those versions or later. As a workaround, avoid composing the decompress interceptor with a response handler that throws during response processing until upgrading.
Title undici vulnerable to Denial of Service via unhandled exception in the decompress interceptor
Weaknesses CWE-248
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-10-16T19:58:52.997Z

Reserved: 2026-09-08T18:09:42.045Z

Link: CVE-2026-87029

cve-icon Vulnrichment

Updated: 2026-10-16T19:58:43.889Z

cve-icon NVD

Status : Undergoing Analysis

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

Modified: 2026-10-16T20:18:12.427

Link: CVE-2026-87029

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-15T18:48:36Z

Links: CVE-2026-87029 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-16T17:00:12Z

Weaknesses