Skip to content

fix(deps): drop stale fast-uri pin to close alerts #13-17 - #37

Merged
joelborch merged 1 commit into
mainfrom
fix/dependency-alerts-13-17
Sep 9, 2026
Merged

fix(deps): drop stale fast-uri pin to close alerts #13-17#37
joelborch merged 1 commit into
mainfrom
fix/dependency-alerts-13-17

Conversation

@joelborch

Copy link
Copy Markdown
Owner

Closes Dependabot alerts #13, #14, #15, #16, #17.

Why Dependabot never opened a PR here

pnpm-workspace.yaml pinned fast-uri: 3.1.5 through an override added to patch an earlier advisory. That pin is what held the repo on a version that later became vulnerable, and Dependabot will not update a hand-written pin it did not create. The weekly triage originally classified this as a coverage gap; it was actually a self-inflicted hold.

The fix

Remove the pin and let the declared ranges re-resolve. Removing the override alone is not enough, since pnpm install honors the existing lockfile, so this also runs pnpm update fast-uri qs -r to re-resolve within the declared ranges. No new override is added: pinning at 3.1.6 / 6.16.0 would recreate the same trap in a few weeks.

Package Before After Parent constraint
fast-uri 3.1.5 3.1.7 ajv@8.20.0 wants ^3.0.1
qs 6.15.3 6.16.0 express@5.2.1 wants ^6.14.0, body-parser wants ^6.15.2

fast-uri deliberately stays on the 3.x line. 4.x falls outside ajv's ^3.0.1 and would need a forced override. No vulnerable copies of either package remain anywhere in the lockfile.

Verification

All five gates run locally against this branch, in ci.yml order:

  • pnpm install --frozen-lockfile — pass
  • pnpm typecheck — pass
  • pnpm -r test — pass (598 tests across 43 files)
  • pnpm --filter @flow/web build — pass
  • npx wrangler deploy --dry-run in apps/api — pass

Runtime reachability

Both packages arrive via @modelcontextprotocol/sdk@1.30.0, a production dependency of apps/api. Inspecting the emitted Worker bundle:

Deploy impact

None. ci.yml runs wrangler deploy --dry-run only; no automatic production deployment occurs on merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NFzcwZnNe1VHh7WAmtUc4q

The `fast-uri: 3.1.5` override in pnpm-workspace.yaml was added to patch an
earlier advisory. It since became the reason this repo was held on a vulnerable
version, and the reason Dependabot opened no PR here: it will not update a pin
it did not create.

Both packages arrive through @modelcontextprotocol/sdk. Their parents already
accept the patched versions (ajv wants fast-uri@^3.0.1, express wants
qs@^6.14.0, body-parser wants qs@^6.15.2), so removing the pin and re-resolving
is sufficient. No new override is added, which is what would recreate the trap.

  fast-uri 3.1.5 -> 3.1.7  (closes #13, #14, #16, #17)
  qs       6.15.3 -> 6.16.0 (closes #15)

fast-uri stays on the 3.x line because ajv declares ^3.0.1.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NFzcwZnNe1VHh7WAmtUc4q
@joelborch
joelborch merged commit 8838f45 into main Sep 9, 2026
5 checks passed
@joelborch
joelborch deleted the fix/dependency-alerts-13-17 branch September 9, 2026 11:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant