Vite Affected by Arbitrary File Read via Vite Dev Server WebSocket
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.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-200 | CWE-200: Exposure of Sensitive Information to an Unauthorized Actor |
| CWE | CWE-306 | CWE-306: Missing Authentication for Critical Function |
Type: CWE
Description: CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
Type: CWE
Description: CWE-306: Missing Authentication for Critical Function
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 4.0 | 8.2 | HIGH | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
Version: 4.0
Base score: 8.2
Base severity: HIGH
Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N