fast-uri vulnerable to host confusion via literal backslash authority delimiter
Package
Affected versions
>= 2.3.1, <= 2.4.2
>= 3.0.0, <= 3.1.3
>= 4.0.0, <= 4.1.0
Patched versions
2.4.3
3.1.4
4.1.1
Description
Published by the National Vulnerability Database
Jul 19, 2026
Published to the GitHub Advisory Database
Jul 21, 2026
Reviewed
Jul 21, 2026
Last updated
Jul 21, 2026
Impact
fast-uriv4.1.0 and earlier do not treat a literal backslash (U+005C) as an authority delimiter. Node's native WHATWGURL(used byfetch(),undici, and Node'shttp/httpsclients) normalizes\to/for special schemes (http,https,ws,wss,ftp,file), so the two parsers extract different hosts from the same input string.For example,
http://evil.com\@allowed.comis treated byfast-urias hostallowed.comwith userinfoevil.com\, while Node's WHATWG URL parser andfetch()see hostevil.comwith path/@allowed.com.Applications that use
fast-urito enforce host-based policy (allowlists, denylists, loopback/SSRF filtering, redirect validation, outbound proxy routing) before passing the same URL into Node's URL orfetch()consumers see a policy/use desync and can be steered to an unintended destination, including cloud metadata endpoints, loopback, or internal hosts.Patches
Upgrade to
fast-uriv4.1.1, v3.1.4, or v2.4.3.Workarounds
None. Upgrade to the patched version.
References