<?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.0.0, &lt; 8.12.2) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/undici--8.0.0--8.12.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>Tue, 27 Oct 2026 23:58:42 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/undici--8.0.0--8.12.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>undici: TLS certificate validation bypass in Agent (CVE-2026-109383)</title><link>https://feed.craftedsignal.io/briefs/2026-10-undici-tls-bypass/</link><pubDate>Tue, 27 Oct 2026 23:58:42 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-undici-tls-bypass/</guid><description>The undici library fails to enforce custom TLS certificate validation callbacks in Agent constructor options due to a JSON-based cloning mechanism, potentially allowing invalid TLS connections.</description><content:encoded><![CDATA[<p>undici's Agent constructor options undergo a JSON-based deep clone before being passed to origin Pools. Because JSON cannot represent functions, custom TLS check callbacks, such as checkServerIdentity, are silently dropped. This results in the omission of additional security validation for applications relying on custom certificate or public-key pinning. TLS connections will default to standard Node.js hostname and chain verification, bypassing more stringent custom policies defined by developers. This affects common entry points like request and fetch, as well as EnvHttpProxyAgent.</p>
<h2 id="impact">Impact</h2>
<p>Applications implementing custom checkServerIdentity callbacks for enhanced TLS validation are vulnerable. These applications may accept TLS connections that should have been rejected by the custom policy, provided the connection passes standard Node.js default verification.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade undici to version 6.29.1, 7.30.1, or 8.12.2 to resolve the option handling logic.</li>
<li>Audit applications using undici Agent or EnvHttpProxyAgent that implement TLS configuration, specifically checking for the usage of checkServerIdentity or similar custom verification callbacks.</li>
<li>As a workaround, developers should pass TLS options through the connect option instead of the tls option for Agent instances, or use requestTls/proxyTls for EnvHttpProxyAgent destinations.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category></item><item><title>undici: Cache poisoning and cross-user data disclosure via cross-origin redirects (CVE-2026-109829)</title><link>https://feed.craftedsignal.io/briefs/2026-10-undici-cache-poisoning/</link><pubDate>Tue, 27 Oct 2026 23:58:35 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-undici-cache-poisoning/</guid><description>The undici library is vulnerable to cache poisoning and unauthorized cross-user data disclosure due to improper cache key generation when using shared cache interceptors after redirect handlers.</description><content:encoded><![CDATA[<p>The undici HTTP client library contains a vulnerability (CVE-2026-109829) in its cache interceptor when used in conjunction with the redirect interceptor. Specifically, when an originless Agent is configured with the interceptor composition <code>compose(redirect(), cache())</code> and a shared cache, the cache key is generated based on the original request URL before the redirect occurs.</p>
<p>This allows the response from a cross-origin redirect to be stored under the key of the initial trusted URL. An attacker controlling the redirect target can poison the cache with malicious content, or cause private, user-specific data to be stored and served to unauthenticated callers if the redirect path contains sensitive information. The vulnerability affects versions 7.x (&lt; 7.30.1) and 8.x (&lt; 8.12.2).</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for persistent cache poisoning of trusted URLs or the disclosure of sensitive, private data across users within the same shared cache instance.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>undici</code> to version <code>7.30.1</code> or <code>8.12.2</code> immediately.</li>
<li>If upgrading is not immediately possible, update the interceptor composition order to <code>compose(cache(), redirect())</code>.</li>
<li>Ensure the use of per-origin dispatchers (<code>Client</code> or <code>Pool</code>) or disable shared caching for requests that are susceptible to redirects.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category></item></channel></rss>