External risk intelligence

Node.js Undici Cache Poisoning Vulnerability.

CVE advisorySeverity: CRITICAL (CVSS 9.1)

CVE-2026-109829

Undici is a developer library integrated into Node.js applications. While it is commonly used to build internet-facing services, this vulnerability requires a specific, non-default architectural configuration involving originless agents and shared cache stores. Because it is a dependency rather than a standalone edge service, reachability depends entirely on how the library is implemented within a custom application.

Halo Surface Signal: 3 out of 5 — possibly public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

A vulnerability exists in the undici HTTP client library for Node.js, which could allow attackers to poison the application's cache or disclose private data. This issue is specific to applications using a particular configuration involving originless agents, shared cache stores, and the redirect-then-cache interceptor order.

  • Cache poisoning or data disclosure risks.
  • Affects specific Node.js application configurations.
  • Confirm relevance and exposure for this library.

Attack Path

How an attacker could exploit the issue

An attacker could exploit this vulnerability by controlling the destination of a redirect from a trusted website. When the vulnerable HTTP client processes this redirect, it incorrectly caches the response from the attacker's controlled site under the trusted site's URL. This allows the attacker to later serve their malicious content to any user who accesses the trusted URL, potentially leading to the disclosure of sensitive data or the delivery of malicious content. This attack is only possible if the application uses a specific configuration combining an originless agent, a shared cache, and a particular order of processing interceptors.

  • Requires specific application configuration.
  • Triggered by a redirect to attacker-controlled site.
  • Risk of cache poisoning and data disclosure.

Live Threat

Current exploitation, exposure, and threat context

This vulnerability could allow an attacker to poison the cache of an HTTP client, causing it to serve malicious or outdated content to users under specific conditions. When an application uses an originless Agent with a shared cache store and composes redirect and cache interceptors in a particular order, responses to trusted URLs might be stored incorrectly. This could lead to persistent cache poisoning or the disclosure of private user data if a redirect to a user-specific resource is improperly cached and later accessed by an unauthenticated caller.

  • Cached responses or private user data.
  • When specific interceptor order is used.
  • Persistent cache poisoning or data disclosure.

Operational Fix

Recommended remediation, mitigation, and detection steps

This vulnerability in the undici HTTP client library affects Node.js applications that use a specific combination of originless Agents, shared cache stores, and redirect-then-cache interceptor composition. Application owners or platform teams are likely responsible for assessing and mitigating this risk. The first practical step is to identify all instances of the affected library, determine if the specific vulnerable configuration is in use, confirm exposure, and then plan remediation, which may involve coordinating with vendor teams if the library is part of a third-party integration.

  • Identify application owners and scope.
  • Verify vulnerable configuration is active.
  • Plan remediation or apply workarounds.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is the undici library used for in Node.js?

Undici is a high-performance HTTP/1.1 client library specifically built for the Node.js runtime. Developers incorporate it into their applications to handle network requests, manage connections, and optimize communication with external web services or APIs.

What does CVE-2026-109829 mean for my application's cache?

This vulnerability involves 'Origin Validation Error' (CWE-346) and 'Information Exposure Through Incorrect Cache' (CWE-524). It occurs when the client creates a cache key using the initial request URL before a redirect completes. This causes the library to save content from a redirected destination under the original, trusted URL, potentially poisoning the cache or leaking sensitive data to unauthorized users.

How does an attacker trigger this cache poisoning bug?

An attacker must convince the application to follow a redirect to a site they control. The flaw is not triggered unless the application specifically uses an 'originless' Agent, a shared cache store, and places the redirect interceptor before the cache interceptor. If your application does not use this specific chained configuration, this path is not active.

Is my Node.js application vulnerable to this issue?

According to Halo Surface Signal, undici is a backend library, so its reachability depends entirely on how your code is architected. Because it is a dependency rather than a standalone service, simply having the library installed is insufficient; you must confirm if your custom application logic enables the specific combination of originless agents and shared caches described.

How should I respond if my application uses undici?

Check your dependency manifest to see if you are using a vulnerable version of undici. If you are, the most effective step is to upgrade to version 7.30.1 or 8.12.2. If an immediate upgrade is not possible, you can modify your code to change the interceptor order, use per-origin dispatchers, or disable shared caching for requests that handle redirects.

References