CVE-2026-84292: fast-uri vulnerable to authority injection via an unvalidated port in serialize
fast-uri serializes the port component of a URI without validating it. When recomposing the authority, fast-uri escapes the userinfo and host components but concatenates the port verbatim, so a port value that is not a sequence of digits can inject authority delimiters. For example, serializing a component whose port is @127.0.0.1:8124 produces http://trusted.example:@127.0.0.1:8124/app, 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 (for example a fixed host from configuration and a port taken from user input or a service record). The same path is reachable through serialize(), normalize(), and equal() in their object forms. A port obtained from parse() is always digits and is not affected.
References
- cna.openjsf.org/security-advisories.html
- github.com/advisories/GHSA-qw65-cvwx-89v3
- github.com/fastify/fast-uri/commit/820e8478dd7da3d09f187bfaf35d50b71f67b8b4
- github.com/fastify/fast-uri/releases/tag/v2.4.6
- github.com/fastify/fast-uri/releases/tag/v3.1.7
- github.com/fastify/fast-uri/releases/tag/v4.1.4
- github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3
- nvd.nist.gov/vuln/detail/CVE-2026-84292
Code Behaviors & Features
Detect and mitigate CVE-2026-84292 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →