CVE-2026-16221
CVE-2026-16221 · fast-uri vulnerable to host confusion via literal backslash authority delimiter
This page contains facts from public vulnerability sources. Check the original advisory before updating.
Impact: fast-uri versions from 2.3.1 through 4.1.0 (including the 3.x line up to 3.1.3 and the 2.x line up to 2.4.2) do not treat a literal backslash character (U+005C) as an authority delimiter. Node's native WHATWG URL parser, used by fetch, undici, and Node's http and https clients, normalizes the backslash to a forward slash for special schemes such as http, https, ws, wss, ftp, and file. As a result, the two parsers extract different hosts from the same input string. Applications that use fast-uri to enforce host-based policy such as allowlists, denylists, loopback or SSRF filtering, redirect validation, or outbound proxy routing before passing the same URL into Node's URL or fetch consumers can be steered to an unintended destination, including cloud metadata endpoints, loopback, or internal hosts. Patches: upgrade to fast-uri 4.1.1, 3.1.4, or 2.4.3. Workarounds: none.
CVSS 7.5 · High · EPSS 0.3% · Fix available
- Published
- Updated
Affected products and versions
fast-uri
- Versions
- ≥ 2.3.1, < 2.4.3: Affected (semver)
- 2.4.3: Not affected (semver)
- ≥ 3.0.0, < 3.1.4: Affected (semver)
- 3.1.4: Not affected (semver)
- ≥ 4.0.0, < 4.1.1: Affected (semver)
- 4.1.1: Not affected (semver)
Update to 2.4.3; Update to 3.1.4; Update to 4.1.1
node-ajv Debian:13
- Versions
- 8.12.0~ds+~2.1.1-5
- 8.17.1~ds+~3.0.1+~3.1.0-1
- 8.17.1~ds+~3.0.1+~3.1.0-2
- 8.17.1~ds+~3.0.1+~3.1.0-3
- 8.17.1~ds+~3.0.1+~3.1.0-4
- 8.18.0~ds+~cs6.1.1-1
- 8.18.0~ds+~cs6.1.1-2
- 8.20.0~ds+~cs6.1.3-1
- 8.20.0~ds+~cs7.1.2-1
- 8.20.0~ds+~cs7.1.3-1
- 8.20.0~ds+~cs7.1.3-2
- 8.20.0~ds+~cs7.1.3-3
- 8.20.0~ds+~cs7.1.4-1
- 8.20.0~ds+~cs7.1.5-1
- 8.20.0~ds+~cs7.1.6-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-ajv Debian:14
- Versions
- 8.12.0~ds+~2.1.1-5
- 8.17.1~ds+~3.0.1+~3.1.0-1
- 8.17.1~ds+~3.0.1+~3.1.0-2
- 8.17.1~ds+~3.0.1+~3.1.0-3
- 8.17.1~ds+~3.0.1+~3.1.0-4
- 8.18.0~ds+~cs6.1.1-1
- 8.18.0~ds+~cs6.1.1-2
- 8.20.0~ds+~cs6.1.3-1
- Affected ranges
- ECOSYSTEM: < 8.20.0~ds+~cs7.1.2-1
Update to 8.20.0~ds+~cs7.1.2-1
fast-uri npm
- Affected ranges
- SEMVER: ≥ 2.3.1, < 2.4.3
Update to 2.4.3
fast-uri npm
- Affected ranges
- SEMVER: ≥ 3.0.0, < 3.1.4
Update to 3.1.4
fast-uri npm
- Affected ranges
- SEMVER: ≥ 4.0.0, < 4.1.1
Update to 4.1.1
node-ajv Ubuntu:18.04:LTS
- Versions
- 5.0.0-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-ajv Ubuntu:20.04:LTS
- Versions
- 6.10.2-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-ajv Ubuntu:22.04:LTS
- Versions
- 6.12.6-2
- 6.12.6-3
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-ajv Ubuntu:24.04:LTS
- Versions
- 6.12.6-3
- 8.12.0~ds+~2.1.1-4
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-ajv Ubuntu:26.10
- Versions
- 8.17.1~ds+~3.0.1+~3.1.0-4build1
- 8.20.0~ds+~cs6.1.3-1
- 8.20.0~ds+~cs7.1.2-1
- 8.20.0~ds+~cs7.1.3-1
- 8.20.0~ds+~cs7.1.3-3
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-ajv Ubuntu:26.04:LTS
- Versions
- 8.12.0~ds+~2.1.1-5
- 8.17.1~ds+~3.0.1+~3.1.0-2
- 8.17.1~ds+~3.0.1+~3.1.0-4build1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published