GitHub Advisoryadvisory · npm

GHSA-4c8g-83qw-93j6 fast-uri vulnerable to host confusion via failed IDN canonicalization

HIGH Published 2026-07-21 Modified 2026-09-11 Official page ↗
Aliases
CVE-2026-13676
Ecosystem
npm
Packages
fast-uri
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weaknesses
CWE-436, CWE-551
Reviewed
2026-07-21

Affected packages

• npm fast-uri: >= 4.0.0, < 4.0.1 → fixed in 4.0.1 • npm fast-uri: >= 3.0.0, < 3.1.3 → fixed in 3.1.3 • npm fast-uri: >= 2.3.1, < 2.4.2 → fixed in 2.4.2

Description

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.

Related

Alias · CVE (1)

  • CVE-2026-13676 fast-uri versions 2.3.1 through 3.1.2 and 4.0.0 fail to canonicalize Unicode (IDN) hostnames for HTTP-family URLs. vulnerability

Weakness · CWE (2)

  • CWE-436 Interpretation Conflict weakness
  • CWE-551 Incorrect Behavior Order: Authorization Before Parsing and Canonicalization weakness

References