Перейти к содержимому
Noroxi
NVD / CVE Program· CNA GitHub_M

CVE-2025-31486: Vite allows server.fs.deny to be bypassed with .svg or relative paths

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 33/100)

  • Опубликован готовый модуль атаки (Nuclei); для эксплуатации не нужна особая квалификация.
  • Есть публичный код proof-of-concept (GitHub); записей об эксплуатации в реальных атаках нет.
  • Вероятность эксплуатации в ближайшие 30 дней: 40,4% (FIRST EPSS); выше, чем у 98,6% записей.
  • Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Пользователь должен открыть ссылку или посетить страницу. Требуются особые условия, например определённое время или конфигурация.
  • Исправленная версия: vitejs vite 4.5.12.

Пока низкий приоритет. Обновитесь до vitejs vite 4.5.12 или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

Vite is a frontend tooling framework for javascript. The contents of arbitrary files can be returned to the browser. By adding ?.svg with ?.wasm?init or with sec-fetch-dest: script header, the server.fs.deny restriction was able to bypass. This bypass is only possible if the file is smaller than build.assetsInlineLimit (default: 4kB) and when using Vite 6.0+. Only apps explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected. This vulnerability is fixed in 4.5.12, 5.4.17, 6.0.14, 6.1.4, and 6.2.5.

СредняяCVSS 5.3 · v3.1—Proof of concept Есть исправление
Опубликовано
3 апр. 2025 г.
Обновлено
17 июн. 2026 г.
EPSS
40,4 % · 98-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

33

Наблюдать

Пока низкий приоритет.

CVSS
21 / 40 · 5.3 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
12 / 30 · 40,4 %

Решение CISA SSVC

Эксплуатация
proof of concept
Автоматизируемо
нет
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
—
CNA · GitHub_M
5,3
NVD ещё не выставил свою оценку; показана оценка CNA.

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Есть PoC, боевого модуля нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2025-31486

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

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

У вас WordPress? Проверьте сайт бесплатно в WP Lens

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

—

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.

  • vitejs vite

    • < 4.5.12, >=5.0.0, < 5.4.17, >=6.0.0, < 6.0.14, >=6.1.0, < 6.1.4, >=6.2.0, < 6.2.5затронута

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
npmviteс 5.0.0 · до 5.4.175.4.17
npmviteс 6.0.0 · до 6.0.146.0.14
npmviteс 6.1.0 · до 6.1.46.1.4
npmviteс 6.2.0 · до 6.2.56.2.5
npmviteдо 4.5.124.5.12

Тот же продукт

vitejs: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2025-31125Vite has a `server.fs.deny` bypassed for `inline` and `raw` with `?import` queryKEV
    82Срочно
  • CVE-2025-30208Vite bypasses server.fs.deny when using `?raw??`
    52В плане
  • CVE-2026-39364Vite has a `server.fs.deny` bypass with queries
    33Наблюдать

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2024-4581217 сент. 2024 г. · DOM Clobbering gadget found in vite bundled scripts that leads to XSS in Vite
    25Наблюдать
  • ← РаньшеCVE-2025-2401020 янв. 2025 г. · Vite allows any websites to send any requests to the development server and read the response
    26Наблюдать
  • Позже →CVE-2025-3239510 апр. 2025 г. · Vite has an `server.fs.deny` bypass with an invalid `request-target`
    25Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
vitejs vite4.5.12 · descriptionВендор (CNA)
npm:vite4.5.12Реестр пакетов (OSV)
npm:vite5.4.17Реестр пакетов (OSV)
npm:vite6.0.14Реестр пакетов (OSV)
npm:vite6.1.4Реестр пакетов (OSV)
npm:vite6.2.5Реестр пакетов (OSV)

Статус эксплойта

Есть proof of concept

Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.

Доказательство

  • Шаблон обнаружения Nuclei ×1
  • Репозиторий PoC на GitHub ×3

Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.

Публичные свидетельства эксплойта
ИсточникТипДата
Шаблон обнаружения NucleiШаблон Nuclei CVE-2025-31486 —
Репозиторий PoC на GitHubstars:62025-04-07
Репозиторий PoC на GitHubstars:02025-04-26
Репозиторий PoC на GitHubstars:02025-07-24

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

  1. Публикация
  2. Первый PoC+3 дн.
  3. Сегодня5 нояб. 2026 г.+580 дн.
EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

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

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

  • CVE-2025-31125с разницей 3 дн.Vite has a `server.fs.deny` bypassed for `inline` and `raw` with `?import` queryKEV
    82Срочно
  • CVE-2025-30208с разницей 10 дн.Vite bypasses server.fs.deny when using `?raw??`
    52В плане
  • CVE-2026-39363с разницей 369 дн.Vite Affected by Arbitrary File Read via Vite Dev Server WebSocket
    33Наблюдать
  • CVE-2025-32395с разницей 7 дн.Vite has an `server.fs.deny` bypass with an invalid `request-target`
    25Наблюдать
  • CVE-2024-31207с разницей 364 дн.Vite's `server.fs.deny` did not deny requests for patterns with directories
    23Наблюдать
  • CVE-2024-45811с разницей 198 дн.server.fs.deny bypassed when using ?import&raw in vite
    19Наблюдать

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Пользователь должен открыть ссылку или посетить страницу.
  • Требуются особые условия, например определённое время или конфигурация.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
нет
Доступность
нет
Вектор атаки
Сеть
Сложность атаки
Высокая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Нет
Влияние на доступность
Нет

Вектор CVSS

CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N

nvd-secondary

Первопричина

Расширение запрашивает более широкие разрешения, чем требуется для его функции, и отправляет собранные данные вовне для целей, не связанных с его назначением.

Ошибка в коде

Весь класс CWE-200

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

json
{  "permissions": ["tabs", "<all_urls>"],  "background": { "service_worker": "analytics.js" }}

Исправленный код

json
{  "permissions": ["activeTab"],  "host_permissions": ["https://yildiz.example/*"]}

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Показать все источники (ещё 2)

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи