CVE-2025-31125
Vite Vitejs
2026-01-22
Vite Vitejs contains an improper access control vulnerability that exposes content of non-allowed files using ?inline&import or ?raw?import. Only apps explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected.
AI Security Analysis & Fix
🧐 Суть уязвимости
Уязвимость (CVE-2025-31125) в dev-сервере Vite позволяет злоумышленнику, имеющему сетевой доступ к серверу разработки, получить содержимое файлов, доступ к которым должен быть ограничен. Это достигается путем отправки специально сформированных запросов с параметрами ?inline&import или ?raw?import.
Условие эксплуатации: Уязвимость актуальна только если dev-сервер Vite явно открыт для сети с помощью флага --host или опции конфигурации server.host.
🛠️ Как исправить
Обновите Vite до исправленной версии.
-
Определите текущую версию Vite:
bash npm list viteИли проверьте версию в файлеpackage.json. -
Обновите пакет Vite:
-
Если уязвимость затрагивает вашу версию, обновитесь до одной из патченных:
vite@5.4.3vite@5.3.6vite@5.2.15vite@5.1.8vite@5.0.13vite@4.5.11vite@4.4.12vite@4.3.9vite@4.2.5vite@4.1.5vite@4.0.5vite@3.2.10vite@2.9.18
-
Команда для обновления (пример для последней версии 5.x):
bash npm update vite@5.4.3Или для глобальной установки:bash npm install -g vite@5.4.3
-
-
Перезапустите dev-сервер Vite.
🛡️ Временное решение
Если немедленное обновление невозможно, выполните одно из следующих действий:
-
Ограничьте доступ к dev-серверу. Убедитесь, что dev-сервер Vite не запущен с флагом
--host(например,--host 0.0.0.0) и в конфигурационном файлеvite.config.jsне задана опцияserver.host, разрешающая внешние подключения. По умолчанию сервер должен быть доступен только сlocalhost. -
Используйте брандмауэр. Заблокируйте входящие подключения к порту, на котором работает dev-сервер Vite (обычно
5173или3000), для всех IP-адресов, кроме доверенных (например, localhost).- Пример для
ufw(Ubuntu/Debian):bash sudo ufw deny 5173 - Пример для
firewalld(RHEL/CentOS):bash sudo firewall-cmd --permanent --remove-port=5173/tcp sudo firewall-cmd --reload
- Пример для
-
Настройте WAF/обратный прокси. Если сервер должен оставаться доступным, разместите его за обратным прокси-сервером (например, nginx) или Web Application Firewall (WAF), который может фильтровать или блокировать запросы, содержащие подозрительные параметры (
?inline&import,?raw?import).