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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-85315 — Работоспособный воспроизводитель proof-of-concept для CVE-2026-85315, демонстрирующий раскрытие сообщений об исключениях потребителя camel-grpc (CWE-209) в Camel Spring Boot и Quarkus. | Kitploit
Инструменты/GitHubGitHub/oscerd/cve-2026-85315
Оборонительные ИнструментыСканеры веб-уязвимостейАнализ уязвимостейСбор информацииОбучение и Образование
GitHuboscerd/cve-2026-85315

CVE-2026-85315

Работоспособный воспроизводитель proof-of-concept для CVE-2026-85315, демонстрирующий раскрытие сообщений об исключениях потребителя camel-grpc (CWE-209) в Camel Spring Boot и Quarkus.

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

Популярное

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

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

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

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

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

CVE-2026-85315 — camel-grpc: раскрытие исключения потребителя

Запускаемый воспроизводитель proof-of-concept для уязвимости Apache Camel, при которой, если маршрут за gRPC-потребителем завершался с ошибкой, сообщение исключения маршрута копировалось в описание Status gRPC. В отличие от причины статуса (withCause(...)), которая остаётся локальной для сервера, описание передаётся вызывающему клиенту, поэтому внешний вызывающий, способный спровоцировать сбой, мог прочитать внутреннее сообщение об ошибке — на практике имена классов и пакетов, пути к файлам, имена хостов и сведения о соединении, содержащиеся в сообщениях исключений (CWE-209). Это gRPC-представитель того же семейства уязвимостей с неотфильтрованными исключениями потребителя, что и опубликованные вместе с ним рекомендации для knative, mina и CXF.

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

Оба модуля демонстрируют уязвимое и исправленное поведение на реальном gRPC-потребителе camel-grpc.

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

Каждый модуль запускает gRPC-потребителя camel-grpc (сервис PingPong из собственного тестового proto camel-grpc), маршрут которого всегда завершается с ошибкой, содержащей сообщение, похожее на внутреннее:

Internal failure contacting jdbc:postgresql://db.internal.local:5432 (user=svc_admin) [CVE-2026-85315]

Эндпоинт верификатора /exploit/attack играет роль внешнего gRPC-клиента: он вызывает PingSyncSync, перехватывает StatusRuntimeException и сообщает код Status и описание, которые вернул сервер.

  • Уязвимо: описание статуса дословно совпадает с сообщением исключения маршрута — URL хранилища и сервисный аккаунт утекают клиенту.
  • Исправлено: новая опция потребителя muteException по умолчанию имеет значение true, поэтому описание становится общим "Exchange processing failed", а реальное сообщение никогда не покидает сервер (оно сохраняется только в локальной причине статуса).
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: description leaks the internal message; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85315-grpc-exception-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"; >>> 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): description leaks the internal message
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: description is "Exchange processing failed"

Каждый модуль обслуживает верификатор на 8080 и запускает consumer camel-grpc на 50051 в рамках одного процесса; публикуется только 8080.

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

СвойствоЗначение
Компонентcamel-grpc (GrpcMethodHandler, consumer)
CWECWE-209 (Генерация сообщения об ошибке, содержащего конфиденциальную информацию)
КритичностьСРЕДНЯЯ
Вектор атакиВнешний gRPC-клиент вызывает сбой маршрута и читает переданное описание Status
ВоздействиеВнутренние детали ошибки (имена классов/пакетов, пути, имена хостов, сведения о соединении) раскрываются вызывающей стороне
Затронутые версииС 4.0.0 до 4.18.5, с 4.19.0 до 4.22.1
Исправленные версии4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24478
БлагодарностьClaude Security Scan Tool

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

Затронутый модуль Quarkus собран на CQ 3.39.0 (Camel 4.22.0). Исправленный контроль — CQ 3.40.0 (Camel 4.22.1).

Исправление

GrpcMethodHandler добавляет опцию consumer muteException (по умолчанию true). Когда она включена, неудачный обмен возвращает в переданном статусе общее описание "Exchange processing failed"; исключение маршрута по-прежнему прикрепляется локально через withCause(...), которое gRPC не отправляет клиенту. Установите muteException=false на endpoint, чтобы восстановить прежнее поведение.

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

Сопоставляйте сбои с явным статусом в обработчике onException, чтобы фреймворк никогда не копировал сообщение исключения в описание.

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

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

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