Skip to content

fix(deps): bump vitest to 4.1.x (CVE-2026-47429)#78

Merged
jz-inworld merged 1 commit into
mainfrom
jz/sec-vitest-cve-2026-47429
Jun 1, 2026
Merged

fix(deps): bump vitest to 4.1.x (CVE-2026-47429)#78
jz-inworld merged 1 commit into
mainfrom
jz/sec-vitest-cve-2026-47429

Conversation

@jz-inworld

Copy link
Copy Markdown
Contributor

What

Bumps vitest (and @vitest/coverage-v8 in backend) from ^4.0.16 to ^4.1.0 in frontend/ and backend/. Lockfiles re-resolve to vitest 4.1.8.

Why

vitest below 4.1.0 has a critical flaw (CVE-2026-47429 / GHSA-5xrq-8626-4rwp): when the Vitest UI server is listening, an attacker can read and execute arbitrary files. The only fixed release is 4.1.0, there is no 2.x/3.x backport. Both packages were on 4.0.16, so this is a small in-major bump.

Note on lockfile size

The backend package-lock.json churns a lot because vitest 4.1 swapped its internal bundler from Rollup/esbuild to Rolldown/lightningcss. The removed @rollup/*/esbuild platform binaries and added @rolldown/*/lightningcss-* entries are test-only transitive deps (never shipped). lockfileVersion is unchanged.

Verification

Local npm test green on 4.1.8:

  • frontend: 29/29
  • backend: 69/69

Draft until CI confirms.

vitest <4.1.0 allows arbitrary file read/execute when the Vitest UI
server is listening (CVE-2026-47429, GHSA-5xrq-8626-4rwp). The only
patched release is 4.1.0; there is no 2.x/3.x backport. frontend and
backend were on 4.0.16, so this is a small in-major bump (resolves to
4.1.8). Local tests green: frontend 29/29, backend 69/69.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jz-inworld jz-inworld force-pushed the jz/sec-vitest-cve-2026-47429 branch from 1f15614 to 69e0486 Compare June 1, 2026 22:02
@jz-inworld jz-inworld marked this pull request as ready for review June 1, 2026 22:28
Copilot AI review requested due to automatic review settings June 1, 2026 22:28
@jz-inworld jz-inworld requested review from a team as code owners June 1, 2026 22:28

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Bumps vitest (and @vitest/coverage-v8) from ^4.0.16 to ^4.1.0 in both frontend/ and backend/ to address CVE-2026-47429, which allows arbitrary file read/execution through the Vitest UI server. Lockfiles re-resolve to vitest 4.1.8, with churn from vitest's internal switch from Rollup/esbuild to Rolldown/lightningcss in test-only transitive dependencies.

Changes:

  • Bump vitest to ^4.1.0 in frontend/package.json and backend/package.json
  • Bump @vitest/coverage-v8 to ^4.1.0 in backend/package.json
  • Re-resolve lockfiles to vitest 4.1.8 with associated transitive dependency updates

Reviewed changes

Copilot reviewed 2 out of 4 changed files in this pull request and generated no comments.

File Description
frontend/package.json Bumps vitest devDependency to ^4.1.0
frontend/package-lock.json Re-resolved lockfile reflecting vitest 4.1.8 and transitive dependency churn
backend/package.json Bumps vitest and @vitest/coverage-v8 devDependencies to ^4.1.0

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jz-inworld jz-inworld merged commit c432422 into main Jun 1, 2026
3 checks passed
@jz-inworld jz-inworld deleted the jz/sec-vitest-cve-2026-47429 branch June 1, 2026 23:20
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.

3 participants