chore(deps): clear the open Dependabot security alerts (supersedes #196) - #213
Merged
Conversation
Three alerts, none of which reached a runtime surface, but all with a cheap fix: - sharp 0.34.5 -> 0.35.2 (GHSA-f88m-g3jw-g9cj, high): inherited libvips CVEs. sharp is not a direct dependency — it comes in transitively via miniflare, whose pin only moves with wrangler, so bump wrangler 4.112.0 -> 4.114.0 (dev-only, never in the deployed site bundle). - react-router-dom 6.30.4 -> 7.18.1 (CVE-2026-53666/53668/53669): the 6.x line has no patch, 6.30.4 is its last release. Deliberately NOT the 7.0.0 that Dependabot proposed in #196 — 7.0.0 carries eight HIGH advisories fixed only in 7.5.2 … 7.18.0 plus a vulnerable turbo-stream, i.e. it trades three moderates for eight highs. 7.18.1 keeps peer react >=18, so React stays on 18 and no application code changes: the dashboard only uses BrowserRouter, Routes, Route, Navigate, Link, NavLink, useNavigate, useParams and useSearchParams, all unchanged in v7. tsc -b and vite build are clean. - brace-expansion 2.1.0 -> 2.1.2 (GHSA-3jxr-9vmj-r5cp, high ReDoS): transitive dev dep via minimatch, in range, so a plain npm update. Known remainders, both without a non-breaking fix and neither reachable in this codebase: - GHSA-mh99-v99m-4gvg (brace-expansion OOM) is patched only in 5.0.8, while minimatch@5 — pinned by @redocly/openapi-core, itself pinned by openapi-typescript — requires ^2.0.1. An override to 5.x would break the toolchain: brace-expansion 5's CJS entry exports { expand } rather than a callable default, and minimatch calls the module directly. Only consumer is the gen:api codegen over our own doc/openapi.yaml. - GHSA-qwww-vcr4-c8h2 (react-router RSC-mode CSRF bypass) is patched only in 8.3.0, which requires react >=19.2.7 — a major React bump that stays deferred. The dashboard is a Vite SPA with BrowserRouter and no RSC/SSR, so the advisory does not apply. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner
Author
|
Retargeted from
The four touched files are byte-identical between |
Owner
Author
|
Reopening to fire the pull_request workflows against the new base — a base change alone emits action=edited, which the default trigger types skip, so Security/CodeQL never queued. |
This was referenced Jul 28, 2026
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.
Closes the five open Dependabot alerts (#23, #24, #25, #26, #27) with the smallest change that actually improves the security posture, and supersedes #196 — whose react-router bump would have made things worse.
What changed
sharp(GHSA-f88m-g3jw-g9cj)wrangler4.112.0 → 4.114.0 (sharp is transitive viaminiflare)brace-expansion(GHSA-3jxr-9vmj-r5cp)npm update, in rangereact-router/react-router-dom(CVE-2026-53666/53668/53669)Both high alerts are GitHub-labelled Development — dev-only tooling, not in any shipped bundle or image.
Why not #196
Dependabot proposed
react-router7.0.0. Scanning that PR's ref shows 7.0.0 introduces eight HIGH advisories that 6.30.4 does not have — CVE-2026-55685 (fixed 7.18.0), CVE-2026-42342 (7.15.0), CVE-2026-42211 (7.14.2), CVE-2026-34077 (7.14.0, also viaturbo-stream), CVE-2026-22029 and CVE-2026-21884 (7.12.0), CVE-2025-59057 (7.9.0), CVE-2025-43865 (7.5.2). That is three moderates traded for eight highs, which is why theTrivycheck on #196 reports1 new alert including 1 high severity security vulnerability.7.18.1 is the right target: it is the newest 7.x, its peer range is
react >=18so React stays on 18, andturbo-streamis gone from its tree.Migration cost: zero
The dashboard's entire react-router surface is
BrowserRouter, Routes, Route, Navigate, Link, NavLink, useNavigate, useParams, useSearchParams— all unchanged in v7. No source file was touched.npm run typecheck,tsc -b && vite build(dashboard) andvite build(site) all pass locally;npm auditinsite/is at zero.Known remainders (no non-breaking fix, neither reachable here)
brace-expansionOOM DoS) is patched only in 5.0.8, butminimatch@5— pinned by@redocly/openapi-core, itself pinned byopenapi-typescript— requires^2.0.1. Anoverridesto 5.x breaks the toolchain: brace-expansion 5's CJS entry exports{ expand }instead of a callable default, and minimatch calls the module directly (verified). The only consumer is thegen:apicodegen over our owndoc/openapi.yaml.react >=19.2.7— the React 19 major stays deferred per the dependency policy. The dashboard is a Vite SPA onBrowserRouterwith no RSC and no SSR, so the advisory does not apply.Note the dashboard build is not covered by PR CI, so it was validated locally.
🤖 Generated with Claude Code