<?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/"><channel><title>Fast-Uri &gt;= 4.0.0, &lt;= 4.1.0 - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/fast-uri--4.0.0--4.1.0/</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, 21 Jul 2026 22:14:18 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/fast-uri--4.0.0--4.1.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>Fast-uri Library Host Confusion Vulnerability (CVE-2026-16221)</title><link>https://feed.craftedsignal.io/briefs/2026-07-fast-uri-host-confusion/</link><pubDate>Tue, 21 Jul 2026 22:14:18 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-fast-uri-host-confusion/</guid><description>The `fast-uri` library, in versions prior to 4.1.1, 3.1.4, and 2.4.3, is vulnerable to a host confusion issue (CVE-2026-16221) due to its failure to treat a literal backslash as an authority delimiter, enabling attackers to bypass host-based security policies via Server-Side Request Forgery (SSRF) or unauthorized access to internal resources.</description><content:encoded><![CDATA[<p>A high-severity host confusion vulnerability, identified as CVE-2026-16221, exists in the <code>fast-uri</code> library, affecting versions 4.1.0 and earlier, as well as specific ranges within the v2 (2.3.1 through 2.4.2) and v3 (3.0.0 through 3.1.3) branches. This vulnerability stems from a parsing discrepancy where <code>fast-uri</code> does not recognize a literal backslash (U+005C) as an authority delimiter, unlike Node.js's native WHATWG <code>URL</code> parser (used by <code>fetch()</code>, <code>undici</code>, and Node's <code>http</code>/<code>https</code> clients). This allows an attacker to craft URLs that, when initially validated by <code>fast-uri</code> against host-based security policies (e.g., allowlists, denylists, SSRF filtering), appear benign, but are then reinterpreted by Node's URL consumers to point to an unintended, potentially malicious, destination. This disparity can lead to severe security bypasses, including Server-Side Request Forgery (SSRF) and unauthorized access to internal or cloud resources.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious URL containing a literal backslash (U+005C) within the host or authority segment for special schemes (e.g., <code>http://evil.com\internal.resource</code>).</li>
<li>An application receives this crafted URL and initially passes it to the vulnerable <code>fast-uri</code> library for enforcement of host-based security policies (e.g., allowlists, denylists, SSRF filtering).</li>
<li>The <code>fast-uri</code> library incorrectly parses the URL, considering the backslash as part of the path or userinfo rather than an authority delimiter, leading the security policy check to pass based on a seemingly benign or allowed host.</li>
<li>The application then takes the <em>same</em> URL string and passes it to Node.js's native WHATWG <code>URL</code> parser, <code>fetch()</code>, or <code>undici</code> for network requests.</li>
<li>Node.js's native URL parser, for special schemes like HTTP or HTTPS, normalizes the backslash (U+005C) to a forward slash (U+002F) and correctly identifies the true, potentially malicious, target host (e.g., <code>internal.resource</code>).</li>
<li>The application proceeds to make a network request to the unintended and unvalidated destination, bypassing the intended security policy.</li>
<li>This discrepancy between <code>fast-uri</code>'s parsing and Node's URL consumers results in a successful security policy bypass.</li>
<li>The attacker achieves objectives such as Server-Side Request Forgery (SSRF), unauthorized access to internal network services, or data exfiltration from sensitive endpoints like cloud metadata services.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The successful exploitation of CVE-2026-16221 can lead to severe consequences for applications relying on <code>fast-uri</code> for URL validation. If an application uses <code>fast-uri</code> to enforce host-based policies (such as allowlists, denylists, or SSRF filtering) and then passes the same URL to Node.js's native URL or <code>fetch()</code> clients, an attacker can bypass these controls. This can steer the application to unintended destinations, including internal network hosts, loopback addresses, or cloud metadata endpoints. This allows for Server-Side Request Forgery (SSRF), unauthorized access to sensitive internal systems or data, and potential data exfiltration. The vulnerability could impact a broad range of Node.js applications that process URLs from untrusted sources and utilize the <code>fast-uri</code> library.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>fast-uri</code> library immediately to patched versions 4.1.1, 3.1.4, or 2.4.3 to remediate CVE-2026-16221.</li>
<li>Ensure that all applications using <code>fast-uri</code> are updated to a non-vulnerable version to prevent host confusion and policy bypasses.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>host-confusion</category><category>ssrf</category><category>dependency-vulnerability</category><category>node.js</category></item></channel></rss>