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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-79984 — Рабочий воспроизводитель proof-of-concept для CVE-2026-79984 — обхода путей в Apache Camel camel-mina-sftp, с фикстурами вредоносного SFTP-сервера и сборками уязвимой и исправленной версий. | Kitploit
Инструменты/GitHubGitHub/oscerd/cve-2026-79984
Оборонительные ИнструментыАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHuboscerd/cve-2026-79984

CVE-2026-79984

Рабочий воспроизводитель proof-of-concept для CVE-2026-79984 — обхода путей в Apache Camel camel-mina-sftp, с фикстурами вредоносного SFTP-сервера и сборками уязвимой и исправленной версий.

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

Популярное

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

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

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

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

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

CVE-2026-79984 — camel-mina-sftp: consumer builds the remote path from the server's listing without containment

Запускаемый воспроизводитель proof-of-concept для уязвимости Apache Camel, при которой consumer mina-sftp — который происходит от того же базового класса RemoteFileConsumer, что и другие consumer'ы удалённых файлов — строит абсолютный удалённый путь каждого опрашиваемого файла путём конкатенации настроенного каталога с именем, указанным в листинге каталога сервера, без лексической нормализации и без проверки нахождения внутри каталога. Этот путь затем становится операндом для извлечения (всегда), а также для удаления или переименования, когда настроены delete=true, move, preMove, moveFailed или readLock=rename.

Имя записи каталога SFTP — это необработанная строка протокола, предоставляемая сервером, поэтому скомпрометированный, вредоносный или многопользовательский сервер может сообщить имя, не являющееся одним сегментом пути.

Это mina-sftp-аналог CVE-2026-79983 (camel-ftp); оба имеют одну и ту же первопричину и одно и то же исправление.

Среда выполненияКаталогСтек
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-mina-sftp 4.22.0 (уязвим; исправлено в 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-mina-sftp 3.39.0 (Camel 4.22.0, уязвим; исправленный контроль 3.40.0 / Camel 4.22.1)

camel-mina-sftp был представлен в Camel 4.18.0, поэтому компонент отсутствует в Camel 4.15.0, поставляемом с последней по номеру версией Camel Quarkus; этот воспроизводитель использует Camel Quarkus 3.39.0 (Camel 4.22.0, уязвим), с 3.40.0 (Camel 4.22.1) в качестве исправленного контроля. Таким образом, оба модуля демонстрируют как уязвимое, так и исправленное поведение.

Что демонстрируется

Приложение встраивает намеренно вредоносный SFTP-сервер (Apache MINA SSHD). Он обслуживает реальное дерево временного каталога, но переписывает в своём ответе SSH_FXP_READDIR имя одного файла в опрашиваемом каталоге /upload на строку обхода d/../../outside.txt (через переопределение getShortName). Имя не начинается с точки, поэтому правило Camel о скрытых файлах его не перехватывает, и /upload + d/../../outside.txt разрешается в /outside.txt, на один уровень выше опрашиваемого каталога. Обычный consumer mina-sftp опрашивает /upload.

  • Уязвимая версия: извлекает как normal.txt, так и выходящий за пределы /outside.txt.
  • Исправленная версия: сохраняет normal.txt и пропускает выходящую за пределы запись, логируя Skipping file as it resolves outside the starting directory: upload/d/../../outside.txt.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

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

    name=[d/../../outside.txt]  <<< FILE FROM OUTSIDE THE POLLED DIRECTORY
        content: OUTSIDE-SECRET (/outside.txt, a file the consumer should never reach)
    name=[normal.txt]  (inside)

Сводка уязвимости

СвойствоЗначение
Компонентcamel-mina-sftp (схема mina-sftp)
CWECWE-22 (Некорректное ограничение пути к каталогу)
КритичностьВЫСОКАЯ
Вектор атакиИмя записи READDIR (предоставляемое сервером), не являющееся одним сегментом пути
ВоздействиеЧтение — а при delete/move/readLock=rename также удаление или переименование — файлов за пределами опрашиваемого каталога с использованием учётных данных эндпоинта
Затронутые версииС 4.18.0 до 4.18.5, с 4.19.0 до 4.22.1
Исправленные версии4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24487
БлагодарностьDilrevx из NSSL, SJTU

Уведомление: https://camel.apache.org/security/CVE-2026-79984.html

Исправление

GenericFileConsumer.isWithinStartingDirectory (переопределяемый в RemoteFileConsumer, от которого наследуется потребитель mina-sftp) нормализует разрешённый путь и проверяет на границах сегментов пути, что он остаётся внутри опрашиваемого каталога; запись, разрешающаяся за его пределами, пропускается с предупреждением, при этом легитимные записи по-прежнему обрабатываются.

Меры защиты, если обновление невозможно

Проверяйте хост-ключ сервера, ограничьте потребителя с помощью filter/antInclude/include, чтобы принимать только имена из одного сегмента, и избегайте delete/move/preMove/moveFailed/readLock=rename при работе с серверами, чьи листинги не являются полностью доверенными. Где возможно, ограничьте учётную запись сервера опрашиваемым каталогом.

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

Этот репозиторий публикуется в образовательных и защитных целях: чтобы помочь пользователям Apache Camel понять уязвимость, проверить, затронуты ли они, и убедиться, что обновление её устраняет. Вредоносный сервер и «секрет» — это инертные локальные фикстуры. Не используйте этот материал против систем, которыми вы не владеете и не управляете.

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