Description
undici is an HTTP client for Node.js. In versions 7.0.0 through 7.30.1 and 8.0.0 through 8.12.3, when the cache interceptor is composed with a downstream handler that throws during response processing (such as the built-in dump interceptor exceeding its maxSize, or the decompress interceptor rejecting more than five Content-Encoding values), a throw raised asynchronously while a cached response is replayed escapes as an uncaught exception or unhandled promise rejection and terminates the Node.js process. A malicious or compromised HTTP server can crash any such client by serving a cacheable response that triggers the throw on replay, including on a 304 revalidation of a stale entry, so the impact is availability only. The issue is fixed in undici 7.30.2 and 8.12.4, and users should upgrade to one of those versions or later. As a workaround, avoid composing the cache interceptor with a response handler that throws during response processing until upgrading.
Published: 2026-11-06
Score: 5.9 Medium
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Patch Immediately
AI Analysis

Impact

The vulnerability exists in the undici HTTP client when the cache interceptor is combined with downstream handlers that throw during response processing. When a cached response is replayed, an asynchronous exception caused by handlers such as the dump interceptor (exceeding maxSize) or the decompress interceptor (rejecting more than five Content-Encoding values) is not properly caught, leading to an uncaught exception or unhandled promise rejection that terminates the Node.js process. The impact is limited to availability; there is no effect on confidentiality or integrity.

Affected Systems

Affected users are those running undici versions 7.0.0 through 7.30.1 or 8.0.0 through 8.12.3 in any Node.js application. The issue is resolved in undici 7.30.2 and 8.12.4 and later. Systems that include undici in their dependencies and use the cache interceptor with handlers that may throw should be considered vulnerable.

Risk and Exploitability

The CVSS score of 5.9 indicates a moderate severity. The EPSS score is not available, so an exact probability of exploitation is unknown, but the vulnerability can be leveraged remotely by a malicious or compromised HTTP server that serves a cacheable response engineered to trigger the throw on replay. Since it is not listed in CISA KEV, it has not yet been observed in large-scale exploitation. Nonetheless, any application that relies on the vulnerable undici version and communicates with untrusted or potentially malicious servers is at risk of a denial of service event.

Generated by OpenCVE AI on November 6, 2026 at 11:30 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade undici to version 7.30.2 or later, or 8.12.4 or later.
  • If an upgrade cannot be performed immediately, refrain from composing the cache interceptor with any downstream handler that throws during response processing, effectively avoiding the code path that can crash the process.
  • Monitor application logs for signs of unexpected process termination due to uncaught exceptions, and consider adding a global unhandled rejection handler to log and gracefully restart the process if feasible.

Generated by OpenCVE AI on November 6, 2026 at 11:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 06 Nov 2026 12:15:00 +0000

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

Fri, 06 Nov 2026 10:15:00 +0000

Type Values Removed Values Added
Description undici is an HTTP client for Node.js. In versions 7.0.0 through 7.30.1 and 8.0.0 through 8.12.3, when the cache interceptor is composed with a downstream handler that throws during response processing (such as the built-in dump interceptor exceeding its maxSize, or the decompress interceptor rejecting more than five Content-Encoding values), a throw raised asynchronously while a cached response is replayed escapes as an uncaught exception or unhandled promise rejection and terminates the Node.js process. A malicious or compromised HTTP server can crash any such client by serving a cacheable response that triggers the throw on replay, including on a 304 revalidation of a stale entry, so the impact is availability only. The issue is fixed in undici 7.30.2 and 8.12.4, and users should upgrade to one of those versions or later. As a workaround, avoid composing the cache interceptor with a response handler that throws during response processing until upgrading.
Title undici vulnerable to Denial of Service via unhandled exception in cache-interceptor response replay
Weaknesses CWE-248
CWE-755
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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-11-06T10:00:50.635Z

Reserved: 2026-10-31T19:03:40.724Z

Link: CVE-2026-120222

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-06T10:16:36.497

Modified: 2026-11-06T10:16:36.497

Link: CVE-2026-120222

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-06T12:00:04Z

Weaknesses
  • CWE-248

    Uncaught Exception

  • CWE-755

    Improper Handling of Exceptional Conditions