Repository navigation
chore(deps): update dependency fast-uri@>=3.0.0 <3.1.6 to ^3.1.9 [security] - autoclosed - #1261
Closed
renovate[bot] wants to merge 1 commit into
Closed
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Contributor
Author
|
renovate
Bot
force-pushed
the
renovate/npm-fast-uri-=3.0.0-3.1.6-vulnerability
branch
from
October 27, 2026 00:46
f7aa9ad to
0036b21
Compare
renovate
Bot
deleted the
renovate/npm-fast-uri-=3.0.0-3.1.6-vulnerability
branch
October 27, 2026 13:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^3.1.6→^3.1.9](https://renovatebot.com/diffs/npm/fast-uri@>=3.0.0 <3.1.6/3.1.6/3.1.9)Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
fast-uri vulnerable to scheme injection via an unescaped first-segment colon in suffix references
CVE-2026-110725 / GHSA-333x-w4r6-6crp
More information
Details
Impact
fast-uri'sserialize(),normalize(), andresolve(), when called with the non-default optionreference: '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 apath-noschemereference 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' })returnsjavascript:alert(1), which reparses as a livejavascript:scheme;data:andvbscript: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 livejavascript:,data:, orvbscript:URL (a cross-site scripting vector), andequal()can conflate a scheme-bearing reference with a relative one. Exposure is limited to applications that use the non-defaultreference: 'suffix'option.Patches
Upgrade to
fast-uri2.4.8,3.1.9, or4.2.3.Workarounds
Do not use the
reference: 'suffix'option on untrusted input. If suffix output is required, percent-encode a colon in the first path segment of the result before treating it as a URI.Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
fast-uri vulnerable to host confusion via unchecked WHATWG host canonicalization
CVE-2026-110180 / GHSA-wjr9-j795-jxcr
More information
Details
Impact
fast-uriversions>= 2.4.2, <= 2.4.7,>= 3.1.3, <= 3.1.8, and>= 4.0.1, <= 4.2.2can silently rewrite the host of an HTTP-family URL (http,https,ws,wss, or any scheme withdomainHost: true). For those schemescanonicalizeHost()passes the parsed host to the WHATWGURLparser and adopts its.hostnamewithout checking that the parser read the whole input as a host. RFC 3986 permits@inside the host group and the WHATWG parser strips TAB, LF, and CR, so the authorityfast-urireports is rewritten by that second parser with noerrorset: data before an@is dropped and whitespace is removed.For example,
fast-uriparseshttp://a@b@evil.example/to hostevil.example(dropping thebsegment), and a host containing a raw TAB, CR, or LF has those characters stripped.equal()then treats a whitespace-smuggled host as the same as the clean one, andresolve()rewrites the authority the same way.Applications that use
fast-urito enforce host-based policy (denylists, loopback filtering, redirect validation, outbound proxy routing) on one representation, such as the raw input, see a policy/use desync: the canonical hostfast-urireturns differs from what was checked, and traffic can be steered to an unintended destination.Patches
Upgrade to
fast-uri2.4.8,3.1.9, or4.2.3.Workarounds
Reject URIs whose authority contains more than one
@, or contains TAB, CR, or LF, before callingfast-uri. Alternatively, treat any non-emptyparse(x).erroras fatal, and compare hosts only from the sameparse()result.Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
fast-uri vulnerable to improper path equivalence in relative reference normalization
CVE-2026-110095 / GHSA-xhq7-xmqj-769h
More information
Details
Impact
fast-uri'snormalize()andserialize()apply RFC 3986 dot-segment removal (remove_dot_segments) to the path of a relative-path reference. RFC 3986 section 5.2.4 defines that algorithm only for the merged target path during resolution, not for the reference itself, so applied to the reference it drops leading..segments and can turn a document-relative reference into a root-relative one.For example,
normalize('a/../b')returns/bandnormalize('../x')returnsx, soresolve(base, normalize(ref))points at a different resource thanresolve(base, ref), andequal()treats distinct references as the same.Applications that normalize attacker-supplied or user-supplied relative references and then resolve them, or use them as cache, deduplication, or authorization keys, can have a reference escape its intended directory and point at a different resource.
Patches
Upgrade to
fast-uri2.4.8,3.1.9, or4.2.3.Workarounds
Do not normalize a relative reference before resolving it. Resolve it against the absolute base first, then normalize the absolute result.
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
fast-uri vulnerable to URI scheme spoofing via percent-encoded scheme decoding
CVE-2026-110306 / GHSA-w74x-v6f9-j3xg
More information
Details
Impact
fast-uripercent-decodes the scheme component with the legacy globalunescape()before validating it, so an input whose decoded scheme is a valid but dangerous token is emitted as a live scheme. RFC 3986 section 3.1 does not allow percent-encoding in a scheme, so no RFC or WHATWG parser treats such input as having that scheme, butfast-uridoes.For example,
normalize('%6Aavascript:alert(1)')returnsjavascript:alert(1),resolve('https://a.example/', '%6Aavascript:alert(1)')returnsjavascript:alert(1), andparse('%6Aavascript:alert(1)').schemereturnsjavascript. The%uXXXXform (%u006Aavascript:) produces the same result, andequal('%68ttp://a/', 'http://a/')returnstrue.An application that screens dangerous schemes on the raw input and then stores or renders
normalize(input)orresolve(base, input)turns an inert string into an executablejavascript:,data:, orvbscript:URL, a stored or reflected cross-site scripting vector in the consuming application.equal()also treats an encoded and a plain scheme as the same, which can bypass equality-based allowlists.Patches
Upgrade to
fast-uri2.4.8,3.1.9, or4.2.3.Workarounds
Reject input whose scheme part (before the first
:, and before any/,?, or#) contains%. Alternatively, checkparse(x).schemeagainst an allowlist after normalization and use that same parsed result rather than the raw string.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
fastify/fast-uri (fast-uri@>=3.0.0 <3.1.6)
v3.1.9Compare Source
Security
This security release fixes four URI parsing and normalization vulnerabilities in fast-uri 3.x. Applications that process untrusted URI input should upgrade to v3.1.9.
Upgrade with:
Thanks to @zekth for reporting the scheme, host, and relative-reference issues, and to @UlisesGascon for finding the suffix-reference issue and reviewing the remediations.
What's Changed
Full Changelog: fastify/fast-uri@v3.1.8...v3.1.9
v3.1.8Compare Source
This security release fixes the following medium-severity security advisory:
Users of the v3.x release line should upgrade to v3.1.8.
Full Changelog: fastify/fast-uri@v3.1.7...v3.1.8
v3.1.7Compare Source
This is a security release that fixes the following high-severity security advisories:
serialize()Users of the v3.x release line should upgrade to v3.1.7.
Full Changelog: fastify/fast-uri@v3.1.6...v3.1.7
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.