CVE-2026-110725: fast-uri vulnerable to scheme injection via an unescaped first-segment colon in suffix references
fast-uri’s serialize(), normalize(), and resolve(), when called with the non-default option reference: 'suffix' on a reference that has no authority, emit a relative reference whose first path segment contains a bare colon without escaping it. RFC 3986 section 3.3 requires the first segment of a path-noscheme reference not to contain a colon, precisely because a bare colon makes the string reparse as an absolute URI with a scheme. fast-uri’s default serialization escapes that colon, but the suffix path does not.
For example, normalize('javascript:alert(1)', { reference: 'suffix' }) returns javascript:alert(1), which reparses as a live javascript: scheme; data: and vbscript: behave the same.
Applications that serialize or normalize a relative reference with reference: 'suffix' and then treat the result as a URI can turn inert input into a live javascript:, data:, or vbscript: URL (a cross-site scripting vector), and equal() can conflate a scheme-bearing reference with a relative one. Exposure is limited to applications that use the non-default reference: 'suffix' option.
References
- cna.openjsf.org/security-advisories.html
- github.com/advisories/GHSA-333x-w4r6-6crp
- github.com/fastify/fast-uri/commit/39e6493c1356f30a0084171627eb266786e1620e
- github.com/fastify/fast-uri/commit/a9b8d67353630aab053cd727cf629023dd018d2b
- github.com/fastify/fast-uri/releases/tag/v2.4.8
- github.com/fastify/fast-uri/releases/tag/v3.1.9
- github.com/fastify/fast-uri/releases/tag/v4.2.3
- github.com/fastify/fast-uri/security/advisories/GHSA-333x-w4r6-6crp
- nvd.nist.gov/vuln/detail/CVE-2026-110725
Code Behaviors & Features
Detect and mitigate CVE-2026-110725 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 →