CVE-2025-31125

Vite Vitejs

Critical Alert

Дата обнаружения

2026-01-22

Официальное описание (CISA)

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 до исправленной версии.

  1. Определите текущую версию Vite: bash npm list vite Или проверьте версию в файле package.json.

  2. Обновите пакет Vite:

    • Если уязвимость затрагивает вашу версию, обновитесь до одной из патченных:

      • vite@5.4.3
      • vite@5.3.6
      • vite@5.2.15
      • vite@5.1.8
      • vite@5.0.13
      • vite@4.5.11
      • vite@4.4.12
      • vite@4.3.9
      • vite@4.2.5
      • vite@4.1.5
      • vite@4.0.5
      • vite@3.2.10
      • vite@2.9.18
    • Команда для обновления (пример для последней версии 5.x): bash npm update vite@5.4.3 Или для глобальной установки: bash npm install -g vite@5.4.3

  3. Перезапустите dev-сервер Vite.

🛡️ Временное решение

Если немедленное обновление невозможно, выполните одно из следующих действий:

  1. Ограничьте доступ к dev-серверу. Убедитесь, что dev-сервер Vite не запущен с флагом --host (например, --host 0.0.0.0) и в конфигурационном файле vite.config.js не задана опция server.host, разрешающая внешние подключения. По умолчанию сервер должен быть доступен только с localhost.

  2. Используйте брандмауэр. Заблокируйте входящие подключения к порту, на котором работает 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
  3. Настройте WAF/обратный прокси. Если сервер должен оставаться доступным, разместите его за обратным прокси-сервером (например, nginx) или Web Application Firewall (WAF), который может фильтровать или блокировать запросы, содержащие подозрительные параметры (?inline&import, ?raw?import).