Skip to content

security(deps): clear the open Dependabot alerts (next, sharp, hono, fast-uri, postcss) - #98

Merged
goetchstone merged 1 commit into
mainfrom
security/dep-cve-sweep-2026-07-27
Jul 28, 2026
Merged

security(deps): clear the open Dependabot alerts (next, sharp, hono, fast-uri, postcss)#98
goetchstone merged 1 commit into
mainfrom
security/dep-cve-sweep-2026-07-27

Conversation

@goetchstone

Copy link
Copy Markdown
Owner

Closes the 16 open Dependabot alerts. Same advisory cluster that hit holt this week, and the same shape of fix.

Package Change Why
next ^16.2.10 → ^16.2.11 (direct) clears 8 alerts (4 high, 4 moderate)
sharp ^0.35.0 (override) next pins it transitively, so bumping next alone doesn't move it — GHSA-f88m-g3jw-g9cj, bundled libvips CVEs
hono / @hono/node-server ^4.12.31 / ^2.0.5 reach the tree only via shadcn@modelcontextprotocol/sdk
fast-uri ^3.1.4 host confusion (backslash authority delimiter, IDN canonicalization)
postcss ^8.5.18 sourceMappingURL arbitrary file read / path traversal
brace-expansion @1 → ^1.1.16, @5^5.0.8

On brace-expansion

GHSA-mh99-v99m-4gvg also covers 1.1.16, and no patched 1.x exists. But the only path to it is eslint-config-nexteslint-plugin-importminimatch@3.1.5dev-only. npm ls brace-expansion --omit=dev resolves to 5.0.8 alone, and this repo's CI gate already audits production only (npm audit --omit=dev + scripts/audit-check.mjs), so no allowlist entry is needed.

Forcing minimatch@10 to eliminate the 1.x line was tried on holt and reverted — it breaks @babel/core and istanbul with minimatch is not a function.

Verification

Against a clean npm ci (not an incremental install): 85 tests pass, and the exact CI audit gate reports "no unallowlisted high/critical advisories. OK."

⚠️ Pre-existing breakage on main (not from this PR)

npm run lint and npm run build fail on this branch — but they fail identically on a clean main checkout, which I verified explicitly:

  • lint: TypeError: Error while loading rule 'react/display-name': contextOrFilename.getFilename is not a function (eslint-plugin-react vs eslint 9 incompatibility)
  • build: Type error: Parameter 'items' implicitly has an 'any' type

Not introduced here and not fixed here — worth its own PR.

🤖 Generated with Claude Code

…fast-uri, postcss)

Closes the 16 open Dependabot alerts. Same advisory cluster that hit holt this
week, and the same shape of fix.

- next ^16.2.10 -> ^16.2.11 (direct): clears 8 alerts (4 high, 4 moderate)
- sharp -> ^0.35.0 via override: next pins it transitively, so bumping next
  alone doesn't move it (GHSA-f88m-g3jw-g9cj, bundled libvips CVEs)
- hono -> ^4.12.31, @hono/node-server -> ^2.0.5, fast-uri -> ^3.1.4: all reach
  the tree only through shadcn -> @modelcontextprotocol/sdk
- postcss -> ^8.5.18 (sourceMappingURL arbitrary file read / path traversal)
- brace-expansion@1 -> ^1.1.16, @5 -> ^5.0.8

On brace-expansion: GHSA-mh99-v99m-4gvg also covers 1.1.16, and no patched 1.x
exists — but the only path to it is eslint-config-next -> eslint-plugin-import
-> minimatch@3.1.5, which is dev-only. akritos@0.1.0 /Users/goetch/simplerms
`-- shadcn@4.13.1
  `-- ts-morph@26.0.0
    `-- @ts-morph/common@0.27.0
      `-- minimatch@10.2.5
        `-- brace-expansion@5.0.8
resolves to 5.0.8 alone, and this repo's CI gate already audits production only
(npm audit --omit=dev + scripts/audit-check.mjs), so no allowlist entry is
needed. Forcing minimatch@10 to eliminate the 1.x line was tried on holt and
reverted: it breaks @babel/core and istanbul with 'minimatch is not a function'.

Verified against a clean 'npm ci' rather than an incremental install: 85 tests
pass and the exact CI audit gate reports no unallowlisted high/critical
advisories.

NOTE: 'npm run lint' and 'npm run build' currently fail on this branch — but
they fail identically on main (react/display-name plugin incompatibility, and a
pre-existing 'items implicitly has any type' TS error). Confirmed by running
both against a clean main checkout. Not introduced here, not fixed here.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@goetchstone
goetchstone merged commit 26757e8 into main Jul 28, 2026
8 checks passed
@goetchstone
goetchstone deleted the security/dep-cve-sweep-2026-07-27 branch July 28, 2026 10:00
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