Vite's server.fs.deny bypassed with /. for files under project root
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.3.4, 6.2.7, 6.1.6, 5.4.19, 4.5.14
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 Nuclei template
- Exploitation: poc
- Automatable: no
- Technical impact: partial
Summary
Vite is a frontend tooling framework for javascript. Prior to versions 6.3.4, 6.2.7, 6.1.6, 5.4.19, and 4.5.14, the contents of files in the project root that are denied by a file matching pattern can be returned to the browser. Only apps explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected. Only files that are under project root and are denied by a file matching pattern can be bypassed. `server.fs.deny` can contain patterns matching against files (by default it includes .env, .env.*, *.{crt,pem} as such patterns). These patterns were able to bypass for files under `root` by using a combination of slash and dot (/.). This issue has been patched in versions 6.3.4, 6.2.7, 6.1.6, 5.4.19, and 4.5.14.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: poc · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- vitejs vite
From 6.3.0 · fixed in 6.3.4; From 6.2.0 · fixed in 6.2.7; From 6.0.0 · fixed in 6.1.6; From 5.0.0 · fixed in 5.4.19; fixed in 4.5.14
- vitenpm
From 6.3.0 · fixed in 6.3.4
- vitenpm
From 6.2.0 · fixed in 6.2.7
- vitenpm
From 6.0.0 · fixed in 6.1.6
- vitenpm
From 5.0.0 · fixed in 5.4.19
- vitenpm
fixed in 4.5.14