CVE-2026-84373: medium-severity vulnerability in vitest-dev vitest
Vitest: Path Traversal / Arbitrary File Read via @vitest/mocker Redirect Mock
Published · Updated
E-mail alert when it lands in KEV, gets a public PoC or its score goes up.
13Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 5.9epss 0.5%
Vitest is a testing framework powered by Vite. From 2.1.0 until 4.1.11 and 5.0.0-rc.2, the public mockerPlugin and standalone interceptorPlugin exports in packages/mocker/src/node/interceptorPlugin.ts register the vitest:interceptor:register handler on Vite's unauthenticated HMR WebSocket without validating redirect targets against the file-serving allowlist. The implementation processes event.redirect without enforcing server.fs.allow and server.fs.deny through isFileLoadingAllowed. A remote client that can reach an exposed development server can submit an opaque URL scheme preserving .. segments, causing join(server.config.root, redirectUrl.pathname) to resolve outside the project root. The plugin's load hook then returns readFile(mock.redirect, 'utf-8') as module source, disclosing local files readable by the dev-server process. Vitest browser mode uses a token-authenticated RPC and is not remotely unauthenticated by default, although the same boundary check was missing on that path. This issue is fixed in versions 4.1.11 and 5.0.0-rc.2.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Related CVEs — vitest-dev vitest
In the same product, most dangerous first.
CVE-2025-24963MEDIUMBrowser mode serves arbitrary files in vitestEPSS 2.4%CVE-2026-47429CRITICALVitest: Arbitrary file can be read and executed when Vitest UI server is listeningEPSS 1.0%CVE-2026-53633CRITICALVitest: Exposed Browser Mode API Can Proxy CDP and Overwrite Config Files, Leading to RCEEPSS 0.9%CVE-2026-73653CRITICALVitest: Browser Mode provider commands bypass the file-access permission gateEPSS 0.8%CVE-2025-24964CRITICALRemote Code Execution when accessing a malicious website while Vitest API server is listeningEPSS 0.7%CVE-2026-47428CRITICALVitest browser mode serves unsanitized otelCarrier query parameter as inline scriptEPSS 0.6%
References
https://github.com/vitest-dev/vitest/commit/51edf2b072902aec6d30c90ebaafd8f121c6f9d8https://github.com/vitest-dev/vitest/commit/8ff9b9a9efca7c6cfd5243569440de8d7a33aec4https://github.com/vitest-dev/vitest/commit/fe5a11d3ceac5ec10d6d7d21a46d4caca132c48fhttps://github.com/vitest-dev/vitest/pull/10972https://github.com/vitest-dev/vitest/pull/10974https://github.com/vitest-dev/vitest/releases/tag/v4.1.11https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.2https://github.com/vitest-dev/vitest/security/advisories/GHSA-82fw-gwwq-j7x9