Skip to content
5.9 Medium

CVE-2026-120222 undici vulnerable to Denial of Service via unhandled exception in cache-interceptor response replay

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.

CVSS 3.1 detail

Vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

Exploitable remotely over the network, without an account and without any user action; an attacker can seriously compromise confidentiality, integrity or availability.

Attack vector
Network
Attack complexity
High
Privileges required
None
Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Affected products and versions

Product Affected versions Fixed in
undici 8.12 earliest → < 8.12.4 8.12.4
undici 8.0 8.0.0 → < 8.12.4 8.12.4
undici 7.30 earliest → < 7.30.2 7.30.2
undici 7.0 7.0.0 → < 7.30.2 7.30.2
The 45 CVEs of undici →
Track this CVE