CVE-2026-84292
CVE-2026-84292 · fast-uri vulnerable to authority injection via an unvalidated port in serialize
This page contains facts from public vulnerability sources. Check the original advisory before updating.
fast-uri serializes the port component of a URI without validating it. When recomposing the authority, the userinfo and host components are escaped but the port is concatenated verbatim, so a port value that is not a sequence of digits can inject authority delimiters, demoting the intended host to userinfo and pointing the authority at an attacker-controlled host. Both fast-uri and Node's URL read the result back as the attacker's host with no error, so re-validating the built URI does not catch it. This affects applications that build URIs from parts and assign untrusted data to the port component through the serialize, normalize, or equal functions in their object forms. The issue affects fast-uri versions before 2.4.6, from 3.0.0 before 3.1.7, and from 4.0.0 before 4.1.4. It is fixed in 2.4.6, 3.1.7, and 4.1.4, where recomposeAuthority rejects any port that is not a digit sequence per RFC 3986.
CVSS 7.5 · High · EPSS 0.2% · Fix available
- Published
- Updated
Affected products and versions
fast-uri
- Versions
- ≥ 0, < 2.4.6: Affected (semver)
- 2.4.6: Not affected (semver)
- ≥ 3.0.0, < 3.1.7: Affected (semver)
- 3.1.7: Not affected (semver)
- ≥ 4.0.0, < 4.1.4: Affected (semver)
- 4.1.4: Not affected (semver)
Update to 2.4.6; Update to 3.1.7; Update to 4.1.4
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
- 8.20.0~ds+~cs7.1.6-2
- 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
- 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
- Affected ranges
- ECOSYSTEM: < 8.20.0~ds+~cs7.1.5-1
Update to 8.20.0~ds+~cs7.1.5-1
fast-uri npm
- Affected ranges
- SEMVER: < 2.4.6
Update to 2.4.6
fast-uri npm
- Affected ranges
- SEMVER: ≥ 3.0.0, < 3.1.7
Update to 3.1.7
fast-uri npm
- Affected ranges
- SEMVER: ≥ 4.0.0, < 4.1.4
Update to 4.1.4
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