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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-85247 — Работающий reproducer на Spring Boot и Quarkus для CVE-2026-85247, демонстрирующий резервный режим доверия всем сертификатам (trust-all) в TLS для camel-knative и проверяющий исправление. | Kitploit
Инструменты/GitHubGitHub/oscerd/cve-2026-85247
Оборонительные ИнструментыАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийКриптографияТестирование на ПроникновениеОбучение и Образование
GitHuboscerd/cve-2026-85247

CVE-2026-85247

Работающий reproducer на Spring Boot и Quarkus для CVE-2026-85247, демонстрирующий резервный режим доверия всем сертификатам (trust-all) в TLS для camel-knative и проверяющий исправление.

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

Популярное

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

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

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

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

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

CVE-2026-85247 — camel-knative: некорректная проверка сертификатов (включение TLS отключает проверку)

Запускаемый воспроизводитель proof-of-concept для уязвимости Apache Camel, при которой включение SSL в HTTP-клиенте Knative без настройки truststore приводило к доверию любому предъявленному сертификату вместо доверия к доверенным корневым сертификатам JVM по умолчанию. Развёртывание, включившее TLS без одновременной настройки truststore, тем самым получало зашифрованное соединение без аутентификации узла, которое злоумышленник, находящийся на сетевом пути, может перехватить и прочитать. Опасное состояние достигается по недосмотру, а не явным включением — включение TLS не должно быть тем, что отключает проверку сертификатов.

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

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

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

Развёртывание устанавливает camel.knative.client.ssl.enabled=true и не настраивает truststore. Драйвер создаёт реальный KnativeSslClientOptions именно из этих настроек — те же параметры, которые использует HTTP-продюсер Knative — и выполняет с ними HTTPS-запрос к встроенному серверу, предъявляющему самоподписанный сертификат (CN=localhost, отсутствующий в каком-либо truststore), олицетворяющему TLS-атаку «человек посередине».

  • Уязвимое поведение: KnativeSslClientOptions.getTrustOptions() возвращает TrustAllOptions, поэтому клиент принимает самоподписанный сертификат и запрос успешно выполняется — соединение зашифровано, но не аутентифицировано.
  • Исправленное поведение: параметры доверия остаются незаданными, поэтому применяются доверенные корневые сертификаты JVM по умолчанию, самоподписанный сертификат отклоняется, а TLS-рукопожатие завершается ошибкой SunCertPathBuilderException: unable to find valid certification path.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: trusts the self-signed cert; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85247-knative-cert-validation-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: handshake fails; >>> 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): trusts the self-signed cert
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: handshake fails

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

СвойствоЗначение
Компонентcamel-knative (KnativeSslClientOptions.configureOptions)
CWECWE-295 (Некорректная проверка сертификатов)
Уровень серьёзностиMEDIUM
Вектор атакиСетевой man-in-the-middle против HTTP-клиента Knative, в котором включён SSL, но не настроено хранилище доверенных сертификатов
ВоздействиеЗашифрованное соединение без аутентификации узла: доверяется любой сертификат, поэтому TLS-трафик можно перехватить и прочитать
Затронутые версииС 4.0.0 до 4.18.5, с 4.19.0 до 4.22.1
Исправленные версии4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24443
БлагодарностьClaude Security Scan Tool

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

Входящий в комплект server-keystore.p12 — это одноразовая самоподписанная пара ключей (CN=localhost), созданная только для этого воспроизведения.

Исправление

KnativeSslClientOptions.configureOptions: когда SSL включён без хранилища ключей, хранилища доверенных сертификатов или пути к доверенному сертификату, параметры доверия теперь остаются незаданными, поэтому Vert.x использует стандартные доверенные корневые сертификаты JVM — тот же механизм, что применяют SSLContextParameters и остальной Camel. Теперь TrustAllOptions достигается только при явной установке camel.knative.client.ssl.trust.all=true (это по-прежнему доступно для разработки против кластера с самоподписанным сертификатом). После обновления развёртывание, полагавшееся на неявное поведение доверия всем сертификатам, должно либо настроить хранилище доверенных сертификатов, либо намеренно задать trust.all.

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

Явно настройте хранилище доверенных сертификатов везде, где на HTTP-клиенте Knative включён SSL.

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

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

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