Skip to main content
← All vulnerabilities
CVE-2026-53571GHSA-FX2H-PF6J-XCFF

Vite: `server.fs.deny` bypass on Windows alternate paths

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 8.0.16, 7.3.5, 6.4.3, 0.1.24
1 proof of concept on GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • vitejs vite

    From 8.0.0 · fixed in 8.0.16; From 7.0.0 · fixed in 7.3.5; fixed in 6.4.3

  • vitenpm

    From 8.0.0 · fixed in 8.0.16

  • vitenpm

    From 7.0.0 · fixed in 7.3.5

  • vitenpm

    fixed in 6.4.3

  • vite-plusnpm

    fixed in 0.1.24

References 2

GitHub · vitejs/vite

GitHub · TazmiDev/CVE-2026-53571