CVE-2026-84394
fast-uri accepts a host that contains an unbalanced or misplaced authority bracket without reporting an error.
Impact
fast-uri accepts a host that contains an unbalanced or misplaced authority bracket without reporting an error. A host that starts with an opening bracket but does not end with a closing bracket is neither validated as an IP literal nor canonicalized as a domain name, so parse() returns it as the host with error undefined, while Node's URL and the HTTP clients built on it resolve the same string to a different host. An application that reads the parsed host to make a host decision, such as an SSRF denylist, a redirect allowlist, or proxy routing, and then passes the original URL to an HTTP client evaluates its policy against a string that is not the host the request reaches. The same host is carried through normalize, equal, and resolve. This affects fast-uri versions 2.4.5, 3.1.6, and 4.1.3, and is fixed in 2.4.6, 3.1.7, and 4.1.4, where parse() reports a malformed host for any host that contains a bracket but is not a valid IPv6 literal.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | fast-uri | = 2.4.5 | 2.4.6 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Openjsf | Fast-Uri | Versions 2.4.5, 3.1.6, 4.1.3 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-58mr-gqgx-xq4g
- https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g
- https://nvd.nist.gov/vuln/detail/CVE-2026-84394
- https://github.com/fastify/fast-uri/pull/214
- https://github.com/fastify/fast-uri/commit/e00815236bc94107e44ef1b2f5318a06bac225c0
- https://cna.openjsf.org/security-advisories.html
- https://github.com/fastify/fast-uri/releases/tag/v2.4.6
- https://github.com/fastify/fast-uri/releases/tag/v3.1.7
- https://github.com/fastify/fast-uri/releases/tag/v4.1.4