CVE-2026-112950
Fixed in a distro release EPSS <1%CVSS 5.9
Vitest is a Vite-native testing framework for JavaScript and TypeScript projects. From 4.1.11 until 4.1.12 and 5.0.3, isFileLoadingAllowed and the filesystem read interpret backslashes differently on Windows in packages/mocker/src/node/interceptorPlugin.ts. When a client can reach the Vite dev server on Windows and register a redirect mock containing backslash traversal, POSIX joining preserves a Windows backslash traversal that the later filesystem read interprets as a path separator, so the client can read a file outside server.fs.allow that the Vitest process can access. This issue is fixed in versions 4.1.12 and 5.0.3.
Products: vitest-dev vitest, @vitest mocker
Fixed upstream
| Ecosystem | Package | Fixed in |
|---|---|---|
| npm | @vitest/mocker | 4.1.12 |
| npm | @vitest/mocker | 5.0.3 |
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Chainguard | gitlab-rails-ce-18.11 | 18.11.13-r0 |
| Chainguard | gitlab-rails-ce-19.1 | 19.1.9-r0 |
| Chainguard | gitlab-rails-ce-19.2 | no fix |
| Chainguard | gitlab-rails-ce-19.4 | no fix |
| Chainguard | gitlab-rails-ce-19.5 | no fix |
| Chainguard | gitlab-rails-ce-fips-19.2 | 19.2.9-r2 |
| Chainguard | langfuse-4-worker | 4.68.0-r0 |
| Chainguard | langfuse-fips-4-worker | no fix |
| Chainguard | langfuse-fips-4-worker | 4.68.0-r0 |
| Chainguard | renovate | 44.178.1-r0 |
| Chainguard | vitess-24 | 24.0.5-r3 |
| Wolfi | renovate | 44.178.1-r0 |
| Wolfi | vitess-24 | 24.0.5-r3 |