Vite: First 4 bytes of files outside of `server.fs` setting is exposed by `?vite-wasm-instance`
- 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, 1.1.0
- 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: none
- Automatable: no
- Technical impact: partial
Summary
Vite is a frontend tooling framework for JavaScript. From 8.2.0 until 8.2.4 and 8.3.3, the first 4 bytes of files outside of server.fs setting can be returned to the browser by a request containing ?vite-wasm-instance. Requests containing the ?vite-wasm-instance query are handled by the internal Wasm plugin's load hook. The hook removes the query and reads the resulting path directly from disk, but the server.fs checks were not applied. After reading the file, Vite attempts to parse it as WebAssembly. When that parse fails, Node and deno throws an error that contains the first 4 bytes of the file. This vulnerability is fixed in 8.2.4 and 8.3.3.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · 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
- vitejs vite-plus
From 0.2.8 · 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
- vite-plusnpm
From 0.2.8 · fixed in 1.1.0