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.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость CVE-2025-31125 в Vite связана с некорректным контролем доступа (Improper Access Control) в сервере разработки (dev server). Злоумышленник может прочитать содержимое файлов, находящихся за пределами разрешенной рабочей директории проекта, отправляя специально сформированные HTTP-запросы с параметрами ?inline&import или ?raw?import. Данная уязвимость представляет угрозу только в том случае, если сервер разработки Vite явно открыт для доступа из внешней сети (например, при запуске с флагом --host или при указании параметра server.host в конфигурации). По умолчанию Vite слушает только локальный интерфейс (localhost), что предотвращает удаленную эксплуатацию.

Как исправить

Основной и самый надежный способ устранения уязвимости — обновление пакета vite до актуальной версии, в которой внедрен патч безопасности.

Обновите зависимости вашего проекта, используя предпочитаемый пакетный менеджер.

Для npm:

npm update vite

Для yarn:

yarn upgrade vite

Для pnpm:

pnpm update vite

После выполнения команды убедитесь, что версия пакета успешно обновлена:

npm list vite

Временные меры

Если немедленное обновление пакета в проекте невозможно, необходимо применить компенсирующие меры для снижения риска эксплуатации:

  1. Изолируйте сервер разработки от внешней сети. Убедитесь, что dev-сервер доступен только локально (на 127.0.0.1 или localhost).
  2. Проверьте файл package.json и удалите флаг --host (или --host 0.0.0.0) из всех скриптов запуска (например, npm run dev).
  3. Проверьте конфигурационный файл vite.config.js (или vite.config.ts) и убедитесь, что параметр server.host не установлен в true или 0.0.0.0. При необходимости явно отключите его.

Пример безопасной настройки в vite.config.js:

export default {
  server: {
    host: false
  }
}

  1. Строго соблюдайте архитектурные стандарты безопасности: сервер разработки Vite (vite dev) предназначен исключительно для локальной разработки. Никогда не используйте его для обслуживания production-трафика. Для production-окружения всегда выполняйте сборку проекта (vite build) и раздавайте полученные статические файлы через полноценные веб-серверы (Nginx, Apache, Caddy).