fix(security): resolve open dependency alerts; harden git_add#4376
Conversation
Real fixes (deps): - python (git/fetch/time): idna 3.10->3.18 (GHSA-65pc), starlette 0.49.1->1.3.1 (GHSA-86qp) - npm: vitest ^2.1.8->^4.1.8 (critical GHSA-5xrq UI server RCE). vitest 4 pulls vite 8 (rolldown, no esbuild), clearing the esbuild/vite advisories natively. Remaining root overrides: qs>=6.15.2 (GHSA-q8mj, via express), hono>=4.12.21 (via @modelcontextprotocol/sdk). - npm audit: 0 vulnerabilities; all TS (313) + Python (git/fetch/time) suites and TS builds pass. Hardening (git_add): - The repo already mitigates CVE-2026-27735 by using repo.git.add (the git CLI rejects out-of-tree paths, PR modelcontextprotocol#3164's fix), not repo.index.add (which did not). Add an explicit path-boundary check in git_add as defense in depth plus regression tests asserting the security invariant (out-of-tree paths are never staged), guarding against a regression to repo.index.add. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Claude finished @cliffhall's task in 1m 45s —— View job Review: dependency alerts +
|
Review: supply-chain & breaking-change analysisReviewed the dependency changes against published advisories and the new versions' release notes. Adding two analysis sections plus a merge recommendation. Bottom line up front: every change maps to a real advisory, each floor/version is the correct one, and the practical breaking-change risk is verified-nil for this codebase — approve. 1. Supply-chain vulnerability assessment
Maturity of the new versions
Net: every change maps to a real, published advisory and each new version/floor genuinely closes it. 2. Breaking changes & reported problems
3. Recommendation — approve & mergeNo item warrants a more conservative pin:
Two minor, non-blocking notes:
🤖 Generated with Claude Code |
Summary
Resolves the open dependency security alerts across the monorepo and adds defense-in-depth to the git server's
git_add.Dependency updates
git,fetch,timeuv.lock):idna3.10 → 3.18 (GHSA-65pc-fj4g-8rjx),starlette0.49.1 → 1.3.1 (GHSA-86qp-5c8j-p5mr).vitest2.1.8 → 4.1.8 in the four TS servers (GHSA-5xrq-8626-4rwp, critical). vitest 4 brings vite 8 (rolldown, no esbuild), which clears the esbuild/vite alerts without overrides. Rootoverridesadded forqs>=6.15.2 (GHSA-q8mj-m7cp-5q26, pulled via express) andhono>=4.12.21 (multiple advisories, pulled via@modelcontextprotocol/sdk).git_add hardening (defense-in-depth)
git_addalready rejects out-of-tree paths because it shells out viarepo.git.add(the fix from #3164), rather thanrepo.index.add. This adds an explicit path-boundary check before the git call plus regression tests asserting the security invariant — out-of-tree paths are never staged — to guard against a future regression back torepo.index.add(CVE-2026-27735).Verification
npm audit: 0 vulnerabilitiesgit/fetch/timetest suites pass under the updated dependencies.🤖 Generated with Claude Code