Vite: Files outside `server.fs.allow` could be served when project paths match system paths on non-Windows machine
- 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 8.3.3, 8.2.4, 8.1.6, 7.3.7, 6.4.4, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: poc
- Automatable: no
- Technical impact: partial
Summary
Vite is a frontend tooling framework for JavaScript. Prior to 6.4.4, 7.3.7, 8.1.6, 8.2.4, and 8.3.3, import analysis can record a root-relative browser URL in safeModulePaths instead of the cleaned resolved module identifier. On a network-accessible, non-Windows development server, an imported project file whose URL matches an absolute host path can authorize a later raw-filesystem request for that host file, provided server.fs.deny does not block it. The request can disclose the matching file outside the project root, but it does not allow arbitrary path traversal because the host path must correspond to a project-relative URL authorized by the application graph. This issue is fixed in versions 6.4.4, 7.3.7, 8.1.6, 8.2.4, and 8.3.3.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: poc · Automatable: no · Technical impact: partial
- Record last updated
- First seen by cve.now
Affected versions
- vitejs vite
From 8.3.0 · fixed in 8.3.3; From 8.2.0 · fixed in 8.2.4; From 8.0.0 · fixed in 8.1.6; From 7.0.0 · fixed in 7.3.7; fixed in 6.4.4
- vitejs vite-plus
fixed in 1.1.0
- vitenpm
From 8.3.0 · fixed in 8.3.3
- vitenpm
From 8.2.0 · fixed in 8.2.4
- vitenpm
From 8.0.0 · fixed in 8.1.6
- vitenpm
From 7.0.0 · fixed in 7.3.7
- vitenpm
fixed in 6.4.4
- vite-plusnpm
fixed in 1.1.0