Description
Vitest is a testing framework powered by Vite. From 5.0.0-beta.6 until 5.0.5, Vitest dev servers can misapply server.fs.deny because project servers replace Vite's defaults and the root server adds .vitest-secret-token after Vite compiles its matcher. An attacker who can reach an affected UI, Browser Mode, or API server can read denied project files or the fallback API token at node_modules/.vitest/.vitest-secret-token, and Browser Mode with test.projects can expose JavaScript-compatible .env values through a malicious website. This issue is fixed in version 5.0.5.
Published: 2026-10-20
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Patch Now
AI Analysis

Impact

This vulnerability arises from the misapplication of Vitest’s server.fs.deny configuration between versions 5.0.0‑beta.6 and 5.0.5. The defect allows a remote user who can reach an affected UI, Browser Mode, or API server to read files that should have been excluded by the deny rules, including ".env" files, private keys, ".git" directories, and the fallback API token at node_modules/.vitest/.vitest-secret-token. The result is a direct leak of potentially sensitive configuration data, credentials, and source‑control artifacts. The weakness is a typical information‑disclosure flaw (CWE‑200).

Affected Systems

The affected components are Vitest’s Browser and UI servers, the vite-plus plugin from vitejs, and the vitest-dev:vitest package. In server‑side tests using Vitest, the vulnerability applies to any project where the server.fs.deny setting is overridden and the kernel falls back to the root server’s default matcher. Version range: any installation of Vitest between 5.0.0‑beta.6 and 5.0.5 inclusive, although the issue also impacts projects using related Vitest packages that rely on the same internal matching logic. Upgrading to version 5.0.5 or newer removes the defect.

Risk and Exploitability

The impact is a moderate‑to‑high CVSS score of 6.5, reflecting the severity of the information disclosure. While the EPSS score is not available, the publicly disclosed advisory and the availability of a fix indicate that the exploit is well‑known and could be used by remote attackers who can access the Vitest UI, Browser, or API endpoints. The vulnerability is not currently listed in CISA’s KEV catalog, but the lack of an EPSS figure does not reduce the foundational risk of exposing source‑control data and environment variables to unauthenticated users. Adversaries could leverage the exposed API token or environmental values to achieve further privilege escalation or to compromise downstream deployment pipelines.

Generated by OpenCVE AI on October 20, 2026 at 17:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Vitest and any dependent packages to version 5.0.5 or later to apply the server.fs.deny fix.
  • Verify that the server.fs.deny configuration explicitly blocks sensitive files and directories, and review any custom matcher patterns that may override Vite defaults.
  • Restrict external access to the Vitest UI, Browser, and API servers, and ensure that .env, .git, and other private files are not placed in publicly reachable project directories.

Generated by OpenCVE AI on October 20, 2026 at 17:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-p458-7748-mcp3 Vitest: Servers misapply `server.fs.deny`, serving `.env`, private keys, `.git`, and the API token file
History

Wed, 21 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
First Time appeared Vitejs
Vitejs vite-plus
Vitest.dev
Vitest.dev browser
Vitest.dev ui
Vitest.dev vitest
Vendors & Products Vitejs
Vitejs vite-plus
Vitest.dev
Vitest.dev browser
Vitest.dev ui
Vitest.dev vitest

Wed, 21 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Tue, 20 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 20 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description Vitest is a testing framework powered by Vite. From 5.0.0-beta.6 until 5.0.5, Vitest dev servers can misapply server.fs.deny because project servers replace Vite's defaults and the root server adds .vitest-secret-token after Vite compiles its matcher. An attacker who can reach an affected UI, Browser Mode, or API server can read denied project files or the fallback API token at node_modules/.vitest/.vitest-secret-token, and Browser Mode with test.projects can expose JavaScript-compatible .env values through a malicious website. This issue is fixed in version 5.0.5.
Title Vitest: Servers misapply `server.fs.deny`, serving `.env`, private keys, `.git`, and the API token file
Weaknesses CWE-200
CWE-552
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-20T16:16:59.623Z

Reserved: 2026-10-19T21:30:47.245Z

Link: CVE-2026-112948

cve-icon Vulnrichment

Updated: 2026-10-20T16:16:55.722Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-20T16:17:05.517

Modified: 2026-10-20T19:56:45.543

Link: CVE-2026-112948

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-20T15:15:01Z

Links: CVE-2026-112948 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-21T16:44:36Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-552

    Files or Directories Accessible to External Parties