<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Undici (&gt;= 8.10.0, &lt; 8.10.2) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/undici--8.10.0--8.10.2/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 30 Sep 2026 04:19:25 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/undici--8.10.0--8.10.2/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Cross-Origin Cache Poisoning Vulnerability in undici</title><link>https://feed.craftedsignal.io/briefs/2026-09-undici-cache-poisoning/</link><pubDate>Wed, 30 Sep 2026 04:19:25 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-undici-cache-poisoning/</guid><description>The undici library (v8.10.0-v8.10.1) is vulnerable to cross-origin cache poisoning via interceptors.cache() and interceptors.deduplicate() due to insufficient origin isolation in cache key generation, allowing attackers to serve malicious responses to trusted origins.</description><content:encoded><![CDATA[<p>The undici HTTP client library is susceptible to cross-origin cache poisoning (CVE-2026-85152) due to an implementation flaw in how it constructs cache and deduplication keys within its interceptors. Specifically, the <code>interceptors.cache()</code> and <code>interceptors.deduplicate()</code> functions fail to incorporate the destination origin into the generated keys when a dispatcher lacks a single authoritative origin or when a request provides its own origin.</p>
<p>This logic error enables an attacker who controls a response from a malicious or compromised origin to influence the cache entries for requests directed toward a different, trusted origin, provided the method, path, and relevant headers coincide. This vulnerability persists if a single cache store or interceptor instance is shared across multiple origins, facilitating cross-origin information disclosure or the poisoning of sensitive cached resources like JWKS (JSON Web Key Sets). The vulnerability was introduced in undici version 8.10.0 and affects versions 8.10.0 and 8.10.1.</p>
<h2 id="impact">Impact</h2>
<p>Applications that share an instance of <code>interceptors.cache()</code> or <code>interceptors.deduplicate()</code> across multiple, distinct origins are vulnerable. A successful exploit allows an attacker to perform persistent cache poisoning, which can result in the acceptance of attacker-signed tokens, leading to authentication bypass or unauthorized access. The scope of impact is contingent upon the application architecture and how extensively the vulnerable interceptor state is shared across network boundaries.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade undici to version 8.10.2 or later immediately to resolve the underlying cache key generation flaw.</li>
<li>Audit application code to identify where <code>interceptors.cache()</code> or <code>interceptors.deduplicate()</code> instances are instantiated.</li>
<li>If immediate patching is not feasible, reconfigure the application to use separate cache stores and interceptor instances for every distinct origin, ensuring state isolation.</li>
<li>Ensure that <code>Agent</code> configurations, which are not impacted by this flaw, are used where feasible for origin-specific request handling.</li>
</ol>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category></item></channel></rss>