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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-85317 — Запускаемый proof-of-concept на Spring Boot, воспроизводящий CVE-2026-85317, где кэш OAuth2-токенов в camel-http игнорирует scope, resource и token endpoint, а также исправленный контрольный вариант. | Kitploit
Инструменты/GitHubGitHub/oscerd/cve-2026-85317
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийАутентификацияОбучение и Образование
GitHuboscerd/cve-2026-85317

CVE-2026-85317

Запускаемый proof-of-concept на Spring Boot, воспроизводящий CVE-2026-85317, где кэш OAuth2-токенов в camel-http игнорирует scope, resource и token endpoint, а также исправленный контрольный вариант.

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

Популярное

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

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

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

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

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

CVE-2026-85317 — camel-http: путаница в кэше токенов OAuth2

Запускаемый воспроизводитель proof-of-concept для уязвимости Apache Camel, при которой кэш токенов OAuth2-клиента camel-http — глобальная для JVM static-карта — формировал ключи своих записей только по (uri, clientId, clientSecret), опуская поля, которые фактически определяют токен: запрошенную область (scope), индикатор ресурса и конечную точку токена. Две конечные точки, различающиеся только этими полями, поэтому совместно использовали одну запись кэша, так что конечной точке мог быть выдан токен, выпущенный для другой области, другого ресурса или другим сервером авторизации — запрос, несущий более широкие полномочия, чем те, на которые была настроена конечная точка, или токен, предъявленный стороне, для которой он не был выпущен (CWE-524).

Только Spring Boot. Этот воспроизводитель поставляется с единственным модулем Camel Spring Boot. Дефект находится в OAuth2-клиенте camel-http, который также имеет расширение camel-quarkus-http; но в JVM-упаковке этого расширения параметры клиента oauth2* уровня конечной точки не применяются так, как под Spring Boot (перехватчик OAuth2-запросов, владеющий кэшем токенов, не подключается, поэтому конечная точка токена никогда не вызывается) — то же ограничение, задокументированное для CVE-2026-85251. Модуль Spring Boot демонстрирует как уязвимое, так и исправленное поведение.

Среда выполненияКаталогСтек
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-http 4.22.0 (уязвимая; исправлено в 4.22.1)

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

Драйвер повторяет собственный регрессионный тест исправления (HttpOAuth2TokenCachingTest). Два одноразовых HTTP-сервера работают внутри процесса: конечная точка токена, которая выпускает bearer-токен, и цель, которая его требует. Верификатор (/exploit/attack):

  1. выполняет первый запрос к цели с oauth2CacheTokens=true&oauth2Scope=read — токен выпускается и кэшируется;
  2. останавливает конечную точку токена;
  3. выполняет второй запрос, идентичный, но с oauth2Scope=read+write.
  • Уязвимая версия: ключ кэша игнорирует область, поэтому второй запрос получает попадание в кэш и повторно использует токен read — он успешен, даже несмотря на то, что конечная точка токена недоступна (свежий токен в принципе не мог быть выпущен).
  • Исправленная версия: область является частью ключа, поэтому второй запрос промахивается мимо кэша и пытается выпустить свежий токен; при недоступной конечной точке токена он не может подключиться (HttpHostConnectException).
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: 2nd request 200 (reused read token); >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85317-http-oauth2-token-cache-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: 2nd request HttpHostConnectException; >>> Not exploited

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

СвойствоЗначение
Компонентcamel-http (OAuth2ClientConfigurer, кэш токенов)
CWECWE-524 (Использование кэша, содержащего конфиденциальную информацию)
Уровень серьёзностиMEDIUM
Вектор атакиВ развёртывании настроено более одной конечной точки OAuth2, различающихся только scope, индикатором ресурса или конечной точкой токена; они совместно используют глобальный для JVM кэш токенов
ВоздействиеКонечной точке выдаётся токен, выпущенный для другого scope/ресурса/сервера авторизации — с более широкими полномочиями, чем настроено, либо токен предъявляется не той стороне
Затронутые версииС 4.0.0 до 4.18.5, с 4.19.0 до 4.22.1
Исправленные версии4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24456
БлагодарностьClaude Security Scan Tool

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

Исправление

OAuth2ClientConfigurer расширяет запись ключа кэша OAuth2URIAndCredentials, включая в неё конечную точку токена, scope и индикатор ресурса, поэтому записи больше не разделяются между конечными точками, различающимися по любому из этих полей.

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

Запускайте конечные точки, различающиеся по scope, индикатору ресурса или конечной точке токена, в отдельных JVM, чтобы они не использовали общий статический кэш.

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

Этот репозиторий публикуется в образовательных и защитных целях: чтобы помочь пользователям Apache Camel понять уязвимость, проверить, затронуты ли они, и убедиться, что обновление её устраняет. Токен (xxx.yyy.zzz), client id и secret являются безвредными заполнителями, а оба HTTP-сервера работают в рамках одного процесса. Не используйте этот материал против систем, которыми вы не владеете и которые не эксплуатируете.

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