CVE-2026-84373Vitest: Path Traversal / Arbitrary File Read via @vitest/mocker Redirect Mock
Updated under an hour ago ()
Does this affect you?
It affects vitest-dev vitest and 1 other product. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
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
- 5.9 MEDIUM (v3.1, CNA)CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
- Weakness (CWE)
- CWE-22
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- GitHub_M
- NVD analysis
- Deferred
- Record last updated
- Sep 2, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
vitest-dev vitest vitest_dev:vitest (from the name) | from 2.1.0, < 4.1.11; from 5.0.0-beta.1, < 5.0.0-rc.2 | CNA record |
@vitest mocker vitest:mocker (from the name) | from 2.1.0, < 4.1.11; from 5.0.0-beta.1, < 5.0.0-rc.2 | CNA record |
References
- https://github.com/vitest-dev/vitest/security/advisories/GHSA-82fw-gwwq-j7x9x-refsource-confirm
- https://github.com/vitest-dev/vitest/pull/10972x-refsource-misc
- https://github.com/vitest-dev/vitest/pull/10974x-refsource-misc
- https://github.com/vitest-dev/vitest/commit/51edf2b072902aec6d30c90ebaafd8f121c6f9d8x-refsource-misc
- https://github.com/vitest-dev/vitest/commit/8ff9b9a9efca7c6cfd5243569440de8d7a33aec4x-refsource-misc
- https://github.com/vitest-dev/vitest/commit/fe5a11d3ceac5ec10d6d7d21a46d4caca132c48fx-refsource-misc
- https://github.com/vitest-dev/vitest/releases/tag/v4.1.11x-refsource-misc
- https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.2x-refsource-misc
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.