Repository navigation
fix(security): bump vite/vitest/esbuild to clear all Medium+ CVEs - #5
seonghobae wants to merge 4 commits into
Conversation
Resolves all Medium+ advisories flagged by osv-scan / trivy-fs / pnpm audit on the shared base: - vitest <3.2.6 CRITICAL GHSA-5xrq-8626-4rwp (UI server arbitrary file read/exec) -> 3.2.7 - vite <=6.4.2 HIGH GHSA-fx2h-pf6j-xcff (server.fs.deny bypass, Windows) -> 6.4.3 - vite <=6.4.1 MODERATE GHSA-4w7w-66w2-5vf9 (path traversal in optimized deps) -> 6.4.3 - vite <=6.4.2 MODERATE GHSA-v6wh-96g9-6wx3 (launch-editor NTLMv2 hash disclose) -> 6.4.3 - esbuild <=0.24.2 MODERATE GHSA-67mh-4wv8-2f99 (dev server request forgery) -> 0.25.12 vitest/vite-node otherwise resolve a transitive vite@5, so a pnpm-workspace override pins vite ^6.4.3 / esbuild ^0.25 across the whole tree. Added @types/node explicitly (was only transitively present under the old vite 5 subtree; the tsconfig "types" array requires it). Verified: pnpm audit and osv-scanner both clean; typecheck, 45 tests, build and build:demo all pass. All bumped packages are MIT-licensed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RTAMs4bpSZS77Xe3RQjv9P
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
CI pins pnpm 9 (.github/workflows/ci.yml, pnpm/action-setup version: 9). pnpm 9 does not read the overrides / onlyBuiltDependencies keys from pnpm-workspace.yaml (that is pnpm 10+ syntax), so it computed an empty overrides set while pnpm-lock.yaml still recorded the vite/esbuild overrides. That mismatch failed pnpm install --frozen-lockfile with ERR_PNPM_LOCKFILE_CONFIG_MISMATCH, breaking build-and-test and the dependent coverage-evidence gate. Move the security overrides and build-approval settings to package.json under the pnpm key, where pnpm 9 reads them. The lockfile is unchanged (it already pins esbuild 0.25.12 and vite 6.4.3), so the patched-version security posture is preserved while frozen install, tests (45 passing), and coverage now succeed.
|
Updated PR #5 at What changed:
Verification run locally:
Local Docker daemon is unavailable in this Windows workspace ( |
|
Closing as superseded by #6 (merged as Generated by Claude Code |
What
Bumps dev-tooling on the default branch (shared base — feature branches inherit) to clear every Medium-and-above advisory that
osv-scan/trivy-fs/pnpm auditflag againstpnpm-lock.yaml.<3.2.63.2.7server.fs.denybypass on Windows)<=6.4.26.4.3.map)<=6.4.16.4.3<=6.4.26.4.3<=0.24.20.25.12How
vite ^5.4.11 → ^6.4.3,vitest ^2.1.8 → ^3.2.6,@vitest/coverage-v8 ^2.1.8 → ^3.2.6.vitest/vite-nodestill resolve a transitivevite@5, so a pnpm-workspaceoverridesblock pinsvite ^6.4.3/esbuild ^0.25across the whole tree (this repo is a pnpm workspace — pnpm 10+ readsoverridesfrompnpm-workspace.yaml, notpackage.json).@types/nodeexplicitly — it was only present transitively under the old vite 5 subtree, andtsconfig.json'stypes: ["vitest/globals", "node"]requires it.Verification (grounded)
pnpm audit --audit-level=low→ No known vulnerabilities foundosv-scanner scan --lockfile=pnpm-lock.yaml→ No issues foundpnpm typecheck✓ ·pnpm test(45 tests) ✓ ·pnpm build✓ ·pnpm build:demo✓🤖 Generated with Claude Code