Skip to content

Fix dependency-audit: bump fast-uri override to clear HIGH advisories - #156

Merged
grimicorn merged 2 commits into
mainfrom
agent/audit-fix-fast-uri
Sep 8, 2026
Merged

Fix dependency-audit: bump fast-uri override to clear HIGH advisories#156
grimicorn merged 2 commits into
mainfrom
agent/audit-fix-fast-uri

Conversation

@grimicorn-agent

Copy link
Copy Markdown
Collaborator

What changed

Bumps the existing overrides.fast-uri pin in package.json from ^3.1.5 to ^3.1.7, resolving fast-uri to 3.1.7 in package-lock.json.

Why

Four new HIGH-severity advisories were published against fast-uri versions <3.1.6:

The repo already carries a fast-uri override (from #61, for a prior advisory round), pinned to ^3.1.5 — which is itself in the newly-vulnerable range. This was failing npm audit --audit-level=high on every open PR (main would fail too if re-audited, since npm audit queries the live advisory DB rather than a snapshot).

fast-uri is transitive: conf@15.1.0ajv@8.18.0fast-uri. ajv@8.18.0 declares fast-uri: ^3.0.1, so the fix stays within the 3.x major rather than jumping to fast-uri@4.x (which would fall outside ajv's declared range).

The override floor is set to ^3.1.7 — the exact version verified locally and recorded in the lockfile — rather than ^3.1.6 (the first version outside all four advisory ranges), so the pin can't silently resolve to an untested patch version.

Verification

  • npm ci (mirrors the dependency-audit CI job) → npm audit --audit-level=high exits 0, only the 2 pre-existing moderate advisories (@humanfs/node, fflate) remain, both below the high gate and out of scope for this PR.
  • npm run lint — clean.
  • npm run test:ci — 837 tests passing across 28 files.
  • Independent Agent Code Review loop run (2 rounds); trail posted as a PR comment.

No issue to close — this is CI maintenance triggered by newly-published advisories, not a tracked issue.

Four fast-uri advisories (GHSA-5jgf-p345-68v8, GHSA-f65p-4m7j-42xc,
GHSA-fph4-wmhf-6fwf, GHSA-jqff-g426-hqxp) all affect versions <3.1.6.
The existing override pinned fast-uri to ^3.1.5, which is itself in
the vulnerable range. Bump to ^3.1.6 (resolves to 3.1.7), staying
within ajv@8.18.0's declared ^3.0.1 requirement.
Bump floor from ^3.1.6 to ^3.1.7 to match the version actually
installed and audited, per code review feedback. Both ranges resolve
to 3.1.7 in this lockfile, but pinning the floor to the untested
3.1.6 left a gap: a future install landing exactly on 3.1.6 would
never have been verified against the advisories.
@grimicorn-agent

Copy link
Copy Markdown
Collaborator Author

Independent Agent Code Review trail

Round 1 — flagged: the override floor was set to ^3.1.6, but the version actually installed and audited was 3.1.7. A fresh install landing exactly on 3.1.6 would never have been verified against the advisories, so the floor should track the tested version.
→ Fixed: bumped the floor to ^3.1.7 (matches the lockfile), re-ran npm install, confirmed it still resolves to 3.1.7 and npm audit --audit-level=high still exits 0.

Also noted (informational, not actioned): overrides is a local-install mechanism — if this package were consumed as a dependency by another project, npm wouldn't honor overrides declared here, so the advisory would stay open downstream. This is a pre-existing limitation of the pattern already used for brace-expansion and nanoid in this file (from earlier PRs #61 and #73), not something introduced by this change, and fast-uri here is a build/CLI-tooling transitive (via confajv), not a runtime dependency exposed to consumers of the published CLI. Left as-is, consistent with existing convention.

Round 2No issues found.

Unresolved after review: none.

@grimicorn
grimicorn merged commit 1bf12a9 into main Sep 8, 2026
3 checks passed
@grimicorn
grimicorn deleted the agent/audit-fix-fast-uri branch September 8, 2026 00:09
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.

2 participants