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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/khashayarnzk/cve-2025-10952-ml-logger-afr
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на Проникновение
GitHubkhashayarnzk/cve-2025-10952-ml-logger-afr

CVE-2025-10952-ml-logger-AFR

PoC для CVE-2025-10952 — ml-logger неаутентифицированное произвольное чтение файлов. CVSS 5.3

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

Популярное

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

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

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

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

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

CVE-2025-10952 — произвольное чтение файлов через stream_handler в ml-logger

Этот репозиторий предоставляет автономный Python-скрипт — CVE-2025-10952.py — который эксплуатирует неаутентифицированную уязвимость произвольного чтения файлов в stream_handler библиотеки ml-logger, в связке с конечной точкой /glob для перечисления файловой системы.

При запуске против уязвимого экземпляра ml-logger скрипт:

  • Перечисляет файлы на целевом хосте через конечную точку /glob (без аутентификации, без ограничений пути за пределами предполагаемой области).
  • Читает произвольный файл через конечную точку /stream, передавая специально сформированный параметр , который выходит за пределы логики объединения базового пути обработчика.
key
  • При необходимости сохраняет полученный файл на диск для дальнейшего использования (например, эксфильтрированный закрытый SSH-ключ).
  • Поскольку stream_handler передаёт поле key, предоставленное клиентом, напрямую в вызов разрешения пути к файлу и потоковой передачи без проверки ограничений, неаутентифицированный сетевой злоумышленник может прочитать любой файл, доступный пользователю ОС, от имени которого работает сервис.

    Детали уязвимости (CVE-2025-10952)

    • Компонент: ml_logger/server.py — stream_handler (обработчик файлов)
    • Слабость: CWE-200 (раскрытие чувствительной информации неавторизованному субъекту), CWE-284 (некорректный контроль доступа)
    • CVSS 3.1: 5.3 (средний) — AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    • Затронутые версии: geyang/ml-logger, все версии вплоть до коммита acf255bade5be6ad88d90735c8367b28cbe3a743 (проект с непрерывными релизами; на момент раскрытия исправленная версия не опубликована)
    • Требуемый доступ: отсутствует (без аутентификации)

    stream_handler принимает JSON-тело, содержащее поле key, и передаёт его напрямую в вызов чтения файла без какой-либо санитизации пути. Соседняя конечная точка glob_handler реализует частичные ограничения пути (блокировка абсолютных путей и обхода каталогов), но stream_handler не разделяет эту проверку — удвоенного ведущего слэша в key (например, //root/.ssh/id_rsa) достаточно, чтобы выйти за пределы предполагаемой базовой директории.

    Предварительные требования

    • Python 3.8+
    • Сетевой доступ к уязвимому экземпляру API ml-logger
    • Никакие учётные данные не требуются

    Установка и настройка

    root@kitploit:~
    git clone https://github.com/Khashayarnzk/CVE-2025-10952-ml-logger-AFR.git
    cd CVE-2025-10952-ml-logger-AFR
    pip install -r requirements.txt
    

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

    Перечисление файлов:

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --glob "/etc/*"
    

    Чтение произвольного файла:

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa"
    

    Чтение и сохранение на диск:

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa" --out id_rsa_root
    chmod 600 id_rsa_root
    ssh -i id_rsa_root -o StrictHostKeyChecking=no root@TARGET
    

    --port по умолчанию равен 8081 — стандартный порт файлового брокерского API ml-logger в типовом развёртывании. Панель управления фронтендом обычно обслуживается на отдельном порту и не является частью уязвимого пути.

    Порядок эксплуатации

    1. Подтвердите, что конечная точка /glob цели отвечает 405 Method Not Allowed с заголовком Allow: POST — это идентифицирует порт API в отличие от статического фронтенда панели управления.
    2. Перечислите доступные пути с помощью --glob, чтобы найти интересующие файлы (SSH-ключи, конфигурации, хранилища учётных данных).
    3. Получите целевой файл с помощью --read, используя удвоенный ведущий слэш для абсолютных путей.
    4. Если файл является закрытым ключом, используйте его напрямую для аутентификации (см. раздел «Использование» выше).

    Обнаружение и смягчение последствий

    • Сеть: отслеживайте JSON-поля в стиле key/path, содержащие .., удвоенные ведущие слэши (//) или префиксы абсолютных путей (/etc, /root, /proc), направленные на порты сервиса ml-logger.
    • Хост: мониторинг целостности файлов или доступа к ~/.ssh/, /etc/shadow, /etc/passwd должен фиксировать чтения, исходящие от идентификатора процесса ml-logger.
    • Экспонирование: никогда не открывайте ml-logger для недоверенной сети без аутентифицирующего обратного прокси перед ним.
    • Исправление: обеспечьте ограничение пути (проверка os.path.realpath() на соответствие разрешённой базовой директории) в stream_handler; запускайте сервис под выделенной непривилегированной учётной записью ОС.

    Ссылки

    • NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-10952
    • GitHub Advisory: https://github.com/advisories/GHSA-9x36-c74v-fgr6
    • Оригинальный отчёт: https://github.com/geyang/ml-logger/issues/74
    • Проект: https://github.com/geyang/ml-logger

    ⚠️ Отказ от ответственности

    Этот репозиторий содержит proof-of-concept эксплойт для CVE-2025-10952 — уязвимости неаутентифицированного раскрытия информации в ml-logger. Используйте этот код только в средах, которыми вы владеете или на тестирование которых имеете явное разрешение. Автор не несёт ответственности за любое неправомерное использование или ущерб, причинённый этим программным обеспечением.

    Лицензия

    См. LICENSE.

    Скачать инструмент