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

Vite allows server.fs.deny to be bypassed with .svg or relative paths

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,5 % · 99-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

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

JSON

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

33

Наблюдать

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

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

Решение CISA SSVC

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

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

Оценка CNA и NVD

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

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

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

—

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

Диапазоны затронутых версий, заявленные назначающей организацией (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
    79На этой неделе
  • CVE-2025-30208Vite bypasses server.fs.deny when using `?raw??`
    52В плане
  • CVE-2026-39363Vite Affected by Arbitrary File Read via Vite Dev Server WebSocket
    33Наблюдать
  • CVE-2026-53571Vite: `server.fs.deny` bypass on Windows alternate paths
    32Наблюдать
  • CVE-2026-39364Vite has a `server.fs.deny` bypass with queries
    32Наблюдать
  • CVE-2023-34092Vite Server Options (server.fs.deny) can be bypassed using double forward-slash (//)
    31Наблюдать

Исправление

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

Версии с исправлением по данным вендора, реестров пакетов и 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. Сегодня30 сент. 2026 г.+545 дн.
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
    79На этой неделе
  • 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/*"]}

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

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

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

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

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

Источники

Все записи