CVE-2026-39363
Received
Received - Intake
Unauthorized File Read via WebSocket in Vite Dev Server
Publication date: 2026-04-07
Last updated on: 2026-04-30
Assigner: GitHub, Inc.
Description
Description
Vite is a frontend tooling framework for JavaScript. From 6.0.0 to before 6.4.2, 7.3.2, and 8.0.5, if it is possible to connect to the Vite dev server’s WebSocket without an Origin header, an attacker can invoke fetchModule via the custom WebSocket event vite:invoke and combine file://... with ?raw (or ?inline) to retrieve the contents of arbitrary files on the server as a JavaScript string (e.g., export default "..."). The access control enforced in the HTTP request path (such as server.fs.allow) is not applied to this WebSocket-based execution path. This vulnerability is fixed in 6.4.2, 7.3.2, and 8.0.5.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| vitejs | vite | From 6.0.0 (inc) to 6.4.1 (inc) |
| vitejs | vite | From 7.0.0 (inc) to 7.3.1 (inc) |
| vitejs | vite | From 8.0.0 (inc) to 8.0.4 (inc) |
| voidzero | vite+ | to 0.1.15 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-200 | The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information. |
| CWE-306 | The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources. |