Quick answers
- Is CVE-2026-112949 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-112949 being exploited in the wild.
- How severe is CVE-2026-112949?
- Medium severity, with a CVSS score of 4.7, published 20 October 2026.
- Which products and versions are affected?
- @vitest/mocker (npm) >= 2.1.0-beta.7, < 4.1.12, SEMVER:introduced=2.1.0-beta.7,fixed=4.1.12; Vitest 2.1.0-beta.7 to 4.1.11; 5.0.0 to 5.0.2.
- Is there a fix for CVE-2026-112949?
- Yes. @vitest/mocker (npm): upgrade to 4.1.12 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-112949 attacked?
- It is attacked over the network or from the adjacent network, in a software library.
- Am I affected by CVE-2026-112949?
- Check whether you run @vitest/mocker (npm) or Vitest at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- @vitest/mocker (npm): upgrade to 4.1.12 or later
npm install @vitest/mocker@4.1.12
Technical details
An unauthenticated WebSocket client can reach a development server's interceptorPlugin and register a manual mock with an attacker-controlled URL. The createManualModuleSource function inserts this URL unescaped into generated module source code. When a developer's browser loads the affected module, the attacker's JavaScript executes with development-server origin privileges. The vulnerability requires network access to the dev server and user interaction (developer loading the page).
Affected products
- Vitest Vitest 2.1.0-beta.7 to 4.1.11; 5.0.0 to 5.0.2
Identifiers
- CVE-2026-112949
- GHSA-qxg6-89mg-rqv8
Timeline
- 2026-10-20: disclosed