CVE-2026-13676: fast-uri vulnerable to host confusion via failed IDN canonicalization
Impact
fast-uri versions >= 2.3.1, <= 4.0.0 fail to canonicalize Unicode/IDN hostnames for HTTP-family URLs. The IDN conversion path calls URL.domainToASCII(...) on the global WHATWG URL constructor, where that helper does not exist. The resulting TypeError is silently routed into parsed.error, but parse(), normalize(), and equal() all return with the host left in its original Unicode form.
For example, http://127。0。0。1/ is treated by fast-uri as host 127。0。0。1, while Node's WHATWG URL parser and fetch() canonicalize the same input to 127.0.0.1.
Applications that use fast-uri to enforce host-based policy (denylists, loopback filtering, redirect validation, outbound proxy routing) before passing the same URL into Node's URL or fetch() consumers see a policy/use desync and can be steered to an unintended destination.
Patches
Upgrade to fast-uri v4.0.1, v3.1.3, or v2.4.2
Workarounds
None. Upgrade to the patched version.
Other sources
fast-uri versions 2.3.1 through 3.1.2 and 4.0.0 fail to canonicalize Unicode (IDN) hostnames for HTTP-family URLs. The IDN conversion path calls a helper that does not exist on the global URL constructor, silently leaving the host in its original Unicode form while normalize() and equal() still return values that differ from a WHATWG-compatible URL parser. Applications that use fast-uri to enforce host-based policy (denylists, loopback filtering, redirect validation, outbound proxy routing) before passing the same URL to Node's URL or fetch can be bypassed when the two implementations resolve the same input to different hosts. Patches: upgrade to fast-uri 3.1.3 for the 3.x line or 4.0.1 for the 4.x line. Workarounds: enforce host policy using the same URL parser used for the actual request, or reject non-ASCII hosts before policy checks.
— Red Hat
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/fast-urito a version that resolves this vulnerability.Fixed in 2.4.2 - Upgrade
Upgrade
npm/fast-urito a version that resolves this vulnerability.Fixed in 3.1.3 - Upgrade
Upgrade
npm/fast-urito a version that resolves this vulnerability.Fixed in 4.0.1 - Upgrade
Upgrade
fast-urito a version that resolves this vulnerability.Fixed in 3.1.3 - Upgrade
Upgrade
fast-urito a version that resolves this vulnerability.Fixed in 4.0.1 - Upgrade
Upgrade
fast-urito a version that resolves this vulnerability.Fixed in 2.4.2 - Configuration
Before applying fast-uri-based host policy checks, reject non-ASCII/Unicode (IDN) hosts so they cannot trigger host-policy/use desync.
fast-uri reject_non_ascii_hosts_before_policy_checks = true - Compensating control
Enforce host-based policy (denylists/loopback filtering/redirect validation/outbound proxy routing) using the same WHATWG URL parser implementation as the actual request (e.g., Node's WHATWG URL / fetch path) so that both code paths resolve the same host.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-13676?
The severity of CVE-2026-13676 is high with a score of 7.5.
How do I fix CVE-2026-13676?
To fix CVE-2026-13676, upgrade fast-uri to version 4.0.1 or later where the vulnerability has been addressed.
What does CVE-2026-13676 impact?
CVE-2026-13676 impacts fast-uri versions 2.3.1 through 3.1.2 and 4.0.0 due to improper canonicalization of Unicode hostnames.
Can CVE-2026-13676 lead to security risks?
Yes, CVE-2026-13676 can lead to host confusion and may expose systems to security risks due to improper handling of IDN hostnames.
When was CVE-2026-13676 published?
CVE-2026-13676 was published on June 29, 2026.