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

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

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

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

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

Категории

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

CVE-2026-85301

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

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

Популярное

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

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

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

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

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

CVE-2026-85301 — camel-keycloak: обход проверки издателя

Запускаемый воспроизводитель proof-of-concept для уязвимости Apache Camel, при которой KeycloakSecurityProcessor из camel-keycloak проверял издателя интроспектированного токена только когда ответ интроспекции действительно содержал утверждение iss. Когда утверждение отсутствовало, проверка пропускалась, а не рассматривалась как ошибка, поэтому токен, выпущенный не настроенным издателем, мог быть принят — при условии, что эндпоинт интроспекции ответил active, не указав издателя. В случае, когда развёртывание выполняет интроспекцию через эндпоинт, который опускает iss и обслуживает более одного издателя, следствием является то, что оно аутентифицирует вызывающую сторону, которую должно было отклонить (CWE-287).

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

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

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

Драйвер настраивает KeycloakSecurityPolicy с validateIssuer=true (ожидаемый издатель http://localhost:8080/realms/test-realm) и интроспектором токенов, который сообщает, что токен активен, но возвращает без утверждения iss — именно то, что выдаёт эндпоинт интроспекции брокера/шлюза, поскольку RFC 7662 делает iss необязательным. Затем он управляет KeycloakSecurityProcessor с заголовком Authorization: Bearer <attacker-token> и сообщает, достигнут ли защищённый маршрут.

  • Уязвимое: отсутствие iss заставляет процессор пропустить проверку издателя, поэтому токен принимается и маршрут достигается — токен от непредусмотренного издателя аутентифицируется.
  • Исправленное: отсутствие iss является ошибкой валидации; процессор выбрасывает CamelAuthorizationException ("Token issuer missing…"), и маршрут никогда не достигается.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: route reached, token accepted; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85301-keycloak-issuer-bypass-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: CamelAuthorizationException "Token issuer missing"; >>> 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): route reached, token accepted
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: CamelAuthorizationException "Token issuer missing"

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

СвойствоЗначение
Компонентcamel-keycloak (KeycloakSecurityProcessor.validateIssuerFromIntrospection)
CWECWE-287 (Некорректная аутентификация)
Уровень серьёзностиMEDIUM
Вектор атакиТокен от непредусмотренного эмитента, прошедший интроспекцию на эндпоинте, который опускает iss и обслуживает более одного эмитента, при validateIssuer=true
ВоздействиеРазвёртывание аутентифицирует вызывающую сторону, чей токен не был выпущен настроенным эмитентом
Затронутые версииС 4.15.0 до 4.18.5, с 4.19.0 до 4.22.1
Исправленные версии4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24448
БлагодарностьClaude Security Scan Tool

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

Затронутый модуль Quarkus построен на CQ 3.39.0 (Camel 4.22.0), где camel-quarkus-keycloak соответствует затронутой версии Camel. Исправленный элемент управления — CQ 3.40.0 (Camel 4.22.1).

Исправление

KeycloakSecurityProcessor теперь рассматривает отсутствующее утверждение iss как ошибку валидации: когда валидация эмитента включена и результат интроспекции не содержит эмитента, он выбрасывает CamelAuthorizationException вместо того, чтобы завершиться досрочно и пропустить запрос. Прежний код пропускал сравнение всякий раз, когда утверждение отсутствовало, что оставляло эмитента непроверенным именно для тех токенов, которые не указывали эмитента.

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

Убедитесь, что эндпоинт интроспекции возвращает утверждение iss и обслуживает ровно одного эмитента, чтобы токен от любого другого эмитента либо был именован (и отклонён), либо никогда не проходил интроспекцию как активный.

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

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

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