Patch Forecast
Yellow warning
Plan into this sprint.

CVE-2026-112949 · GHSA-qxg6-89mg-rqv8

Vitest: Code injection via unauthenticated manual mock registration

Risk score
41/100
CVSS
4.7 v3.1
Exploit chance (30 days)
0.2%
Published
20 Oct 2026

Open in the live forecast Today's forecast

What to know

What it is
Vitest is a Vite-native testing framework for JavaScript and TypeScript projects. From 2.1.0-beta.7 until 4.1.12 and 5.0.3, an unauthenticated non-browser WebSocket client that can reach a development server using interceptorPlugin can register a manual mock whose attacker-controlled url createManualModuleSource inser…
Affected
@vitest/mocker (npm) >= 2.1.0-beta.7, < 4.1.12; @vitest/mocker (npm) >= 5.0.0-beta.1, < 5.0.3
Fix
Upgrade @vitest/mocker to 4.1.12 or 5.0.3 (whichever matches your release line) or later.
Exploitation
Public proof of concept

Why it is Yellow

  • CVSS 4.7 medium
  • Public exploit or proof of concept referenced
  • On your watchlist: npm

Affected packages

PackageEcosystemVulnerableFixed in
@vitest/mockernpm>= 2.1.0-beta.7, < 4.1.124.1.12
@vitest/mockernpm>= 5.0.0-beta.1, < 5.0.35.0.3

References

Original description

Vitest is a Vite-native testing framework for JavaScript and TypeScript projects. From 2.1.0-beta.7 until 4.1.12 and 5.0.3, an unauthenticated non-browser WebSocket client that can reach a development server using interceptorPlugin can register a manual mock whose attacker-controlled url createManualModuleSource inserts unescaped into generated module source. When the developer browser loads the affected module, attacker-controlled JavaScript executes on the development-server origin. This issue is fixed in versions 4.1.12 and 5.0.3.

Last activity 20 Oct 2026. Patch Forecast updates every hour.