Vite — это интерфейсный инструментарий для JavaScript. Начиная с версий 6.0.0 и до версий 6.4.2, 7.3.2 и 8.0.5, если возможно подключиться к WebSocket сервера разработки Vite без заголовка Origin, злоумышленник может вызвать fetchModule через пользовательское событие WebSocket vite:invoke и объединить file://... с ?raw (или ?inline), чтобы получить содержимое произвольных файлов на сервере в виде строки JavaScript (например, экспортировать по умолчанию). «...»). Контроль доступа, реализованный в пути HTTP-запроса (например, server.fs.allow), не применяется к этому пути выполнения на основе WebSocket.
Эта уязвимость исправлена в версиях 6.4.2, 7.3.2 и 8.0.5.
Показать оригинальное описание (EN)
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 v4.0