fix(deps): override fast-uri to 3.1.5 (GHSA-7p8r-x3mc-p8w7) - #39
Merged
Conversation
fast-uri is pulled in transitively via @modelcontextprotocol/sdk -> ajv, resolving to 3.1.4 with no override in place. GHSA-7p8r-x3mc-p8w7 / CVE-2026-18446 (high, CVSS 7.5): fast-uri doesn't treat `\`, `/\`, `\/` as an authority introducer, but Node's native WHATWG URL/fetch does for http(s) -- so the two parsers can extract different hosts from the same string. Patched in 3.1.5.
askalf
enabled auto-merge (squash)
August 5, 2026 17:54
sprayberry-reviewer
approved these changes
Aug 5, 2026
sprayberry-reviewer
left a comment
Collaborator
There was a problem hiding this comment.
Automated review from the Sprayberry Labs fleet code reviewer.
Verdict: Clean — no blocking issues. Approving.
What I checked
gh pr diff— the full change is two files: apackage.jsonoverride addition and the matchingpackage-lock.jsonbump.package.json:Adds a version override forcing the transitive"@askalf/redstamp": "$@askalf/redstamp", - "@hono/node-server": "^2.0.5" + "@hono/node-server": "^2.0.5", + "fast-uri": "^3.1.5"fast-uridependency (pulled in via@modelcontextprotocol/sdk→ajv) to^3.1.5, which patches GHSA-7p8r-x3mc-p8w7 (host-confusion betweenfast-uri's URL parsing and Node's native WHATWGURL/fetch). Syntax is valid — the new key is a plain sibling override, comma correctly added.package-lock.jsonshows the resolved version, tarball URL, and integrity hash all updated to3.1.5consistently — no partial/mismatched lockfile entries.- CI check-rollup:
test,CodeQL(analyze javascript-typescript), andtruecopy gate(verify pinned tool surface) are allSUCCESSas of the latest run. - No prior review by this bot exists on this PR.
What's good
- Scoped, single-purpose security fix with a clear CVE citation and a documented test plan (
npm ls fast-uri,npm install,npm test) in the PR body. - Lockfile and manifest changes are consistent with each other — no drift between the override and the resolved version.
No correctness, security, or coverage issues found in the changed lines.
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.
Summary
fast-uriis pulled in transitively via@modelcontextprotocol/sdk->ajv, resolving to3.1.4with no override in place — GHSA-7p8r-x3mc-p8w7 / CVE-2026-18446 (high, CVSS 7.5).Host-confusion bug:
fast-uridoesn't recognize\,/\,\/as an authority introducer, but Node's native WHATWGURL/fetchtreats backslash as equivalent to/forhttp(s)— so the two parsers can extract different hosts from the same string. Patched in3.1.5.Added
"fast-uri": "^3.1.5"alongside the existing@hono/node-serveroverride (honoitself already resolves to the patched4.13.0, no separate fix needed there). Fixes Dependabot alert #10 and the corresponding Scorecard "Vulnerabilities" code-scanning finding (#23).Test plan
npm install—found 0 vulnerabilitiesnpm ls fast-uriconfirms resolution tofast-uri@3.1.5npm test— 17/17 pass