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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-85296 — Работающий proof-of-concept на Spring Boot и Quarkus, воспроизводящий CVE-2026-85296 — путаницу ключей подписи MDN между партнёрами в camel-as2 (CWE-488), с уязвимой и исправленной сборками. | Kitploit
Инструменты/GitHubGitHub/oscerd/cve-2026-85296
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийКриптографияОбучение и Образование
GitHuboscerd/cve-2026-85296

CVE-2026-85296

Работающий proof-of-concept на Spring Boot и Quarkus, воспроизводящий CVE-2026-85296 — путаницу ключей подписи MDN между партнёрами в camel-as2 (CWE-488), с уязвимой и исправленной сборками.

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

Популярное

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

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

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

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

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

CVE-2026-85296 — camel-as2: путаница ключей подписи MDN между партнёрами

Запускаемый воспроизводитель proof-of-concept для уязвимости Apache Camel, при которой материал подписи для каждого запроса хранился в состоянии, разделяемом между запросами, а не ограничивался обрабатываемым запросом. Единственный ResponseMDN регистрируется на общем HttpProcessor и обслуживает каждый AS2-запрос; в конфигурации с динамическими ключами (один торговый партнёр на путь, каждый со своими ключами, разрешаемыми для каждого запроса из HttpContext) затронутая сборка записывала разрешённый ключ подписи для каждого запроса обратно в поле экземпляра. Там, где развёртывание обслуживает более одного партнёра, параллельные или последовательные запросы могли, таким образом, наблюдать материал друг друга, и уведомление о размещении сообщения (Message Disposition Notification) могло быть подписано ключом другого торгового партнёра. Развёртывания AS2 обычно являются многопартнёрскими по своей природе, поэтому условие достигается при обычном параллельном трафике.

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

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

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

Драйвер использует настоящий ResponseMDN (перехватчик AS2-ответов) в его форме с динамическими ключами. Он поочерёдно разрешает материал подписи двух партнёров — Партнёра A, затем Партнёра B — через ResponseMDN.process(...) (каждый с RSA-ключом этого партнёра в HttpContext), и после каждого читает поле signingPrivateKey экземпляра.

  • Затронуто: после обработки запроса Партнёра A общий экземпляр содержит закрытый ключ Партнёра A; после запроса Партнёра B он содержит ключ Партнёра B. Ключ для каждого запроса хранится в общем экземпляре, поэтому параллельный запрос для одного партнёра может прочитать — и подписать свой MDN — ключом другого партнёра.
  • Исправлено: поле объявлено final и никогда не записывается; ключ для каждого запроса остаётся ограниченным запросом, поэтому signingPrivateKey общего экземпляра остаётся null.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: per-request key on the shared instance; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85296-as2-signing-key-confusion-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: field stays null; >>> 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.22.0): per-request key on the shared instance
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: field stays null

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

СвойствоЗначение
Компонентcamel-as2 (обработка динамических ключей ResponseMDN)
CWECWE-488 (Раскрытие элемента данных не той сессии)
Уровень серьёзностиMEDIUM
Вектор атакиОбычный параллельный трафик AS2 в развёртывании с несколькими партнёрами, использующем общий экземпляр ResponseMDN
ВоздействиеУведомление о диспозиции сообщения (MDN), подписанное закрытым ключом другого торгового партнёра; повторное использование материала подписи между партнёрами
Затронутые версииС 4.0.0 до 4.18.5, с 4.19.0 до 4.22.1
Исправленные версии4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24429
БлагодарностьClaude Security Scan Tool

Рекомендация: https://camel.apache.org/security/CVE-2026-85296.html

Затронутый модуль Quarkus собран на CQ 3.39.0 (Camel 4.22.0): механизм динамических ключей подписи AS2 для каждого запроса, который задействует данный PoC, появился после CQ 3.29.0 (Camel 4.15.0), поэтому CQ 3.39.0 поставляет тот же Camel 4.22.0, что и модуль Spring Boot.

Исправление

ResponseMDN делает настроенные поля безопасности final и разрешает динамический материал для каждого запроса в локальные переменные внутри process(), никогда не записывая его обратно в поля экземпляра. Таким образом, единый общий экземпляр больше не может раскрыть ключ подписи одного запроса другому запросу.

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

Запускайте отдельный контекст Camel для каждого торгового партнёра, чтобы между ними не использовался общий материал подписи.

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

Этот репозиторий публикуется в образовательных и защитных целях: чтобы помочь пользователям Apache Camel понять уязвимость, проверить, затронуты ли они, и убедиться, что обновление устраняет её. Пары ключей RSA генерируются в процессе для демонстрации и являются инертными. Не используйте этот материал против систем, которыми вы не владеете и не управляете.

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