Description
Vite is a frontend tooling framework for JavaScript. Prior to 8.0.16, 7.3.5, and 6.4.3, the contents of files that are specified by server.fs.deny can be returned to the browser on Windows. Vite’s dev server denies direct access to sensitive files through server.fs.deny, including entries such as .env, .env.*, and *.{crt,pem}. However, on Windows, the deny logic does not correctly normalize NTFS ADS path forms before access checks are applied. Because of this, requests such as /.env::$DATA?raw are treated as allowed paths, while Windows resolves them to the original file's default data stream. Similar to that, Windows allows accessing a file using a different name with the 8.3 short name compatibility feature. Vite did not reject accessing files via them. This vulnerability is fixed in 8.0.16, 7.3.5, and 6.4.3.
Published: 2026-06-22
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Vite, a popular JavaScript front‑end build tool, contains a configuration bypass that allows an attacker to read files that should be blocked by server.fs.deny when the development server runs on Windows. The bug occurs because the server does not normalize NTFS alternate data stream and 8.3 short‑name path forms before applying the deny check. As a result, URLs such as /.env::$DATA?raw or references through 8.3 short names can return the contents of files like .env, .env.* or certificate files to the client. This leads to direct confidential data disclosure and corresponds to CWE‑200 (Information Exposure) and CWE‑22 (Path Traversal).

Affected Systems

Affected products are Vite by vitejs, versions earlier than 8.0.16, 7.3.5, and 6.4.3. Any installation running these legacy releases on a Windows operating system and exposing the dev server to a network is potentially vulnerable.

Risk and Exploitability

With a CVSS base score of 8.2, the disclosure is considered high severity. The vulnerability is exploit‑able through arbitrary HTTP requests to a Vite dev server that is accessible from the network. The risk is significant when the server is exposed outside trusted environments, though it does not allow code execution or privilege escalation. Since the EPSS score is not available and the issue is not listed in the CISA KEV catalog, the probability of widespread exploitation is unknown, but the lack of patching in legacy versions increases the likelihood for any exposed dev server. The most probable attack path involves a remote attacker sending a crafted request containing an NTFS ADS or 8.3 short name and receiving the file contents in the response.

Generated by OpenCVE AI on June 22, 2026 at 18:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Vite to a fixed release (8.0.16, 7.3.5, or 6.4.3).
  • Restrict the dev server to localhost or a trusted network and enforce firewall rules so it is not reachable from untrusted sources.
  • Move or rename sensitive files such as .env, .env.*, *.crt, and *.pem outside the directory served by Vite or to names that do not match the deny patterns to prevent accidental exposure.

Generated by OpenCVE AI on June 22, 2026 at 18:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-fx2h-pf6j-xcff vite: `server.fs.deny` bypass on Windows alternate paths
History

Mon, 22 Jun 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Mon, 22 Jun 2026 17:30:00 +0000

Type Values Removed Values Added
Description Vite is a frontend tooling framework for JavaScript. Prior to 8.0.16, 7.3.5, and 6.4.3, the contents of files that are specified by server.fs.deny can be returned to the browser on Windows. Vite’s dev server denies direct access to sensitive files through server.fs.deny, including entries such as .env, .env.*, and *.{crt,pem}. However, on Windows, the deny logic does not correctly normalize NTFS ADS path forms before access checks are applied. Because of this, requests such as /.env::$DATA?raw are treated as allowed paths, while Windows resolves them to the original file's default data stream. Similar to that, Windows allows accessing a file using a different name with the 8.3 short name compatibility feature. Vite did not reject accessing files via them. This vulnerability is fixed in 8.0.16, 7.3.5, and 6.4.3.
Title Vite: `server.fs.deny` bypass on Windows alternate paths
Weaknesses CWE-200
CWE-22
References
Metrics cvssV4_0

{'score': 8.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-22T18:07:53.961Z

Reserved: 2026-06-09T19:11:53.483Z

Link: CVE-2026-53571

cve-icon Vulnrichment

Updated: 2026-06-22T18:04:52.137Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-22T18:30:15Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')