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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-85313 — Запускаемое proof-of-concept на Spring Boot, воспроизводящее CVE-2026-85313, где Apache Camel camel-jetty enableCORS отражает любой origin с учётными данными, плюс контрольная версия с исправлением. | Kitploit
Инструменты/GitHubGitHub/oscerd/cve-2026-85313
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийАудит конфигурацииВеб-безопасностьОбучение и Образование
GitHuboscerd/cve-2026-85313

CVE-2026-85313

Запускаемое proof-of-concept на Spring Boot, воспроизводящее CVE-2026-85313, где Apache Camel camel-jetty enableCORS отражает любой origin с учётными данными, плюс контрольная версия с исправлением.

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

Популярное

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

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

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

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

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

CVE-2026-85313 — camel-jetty: enableCORS предоставляет доступ с учётными данными с любого origin

Запускаемый воспроизводитель proof-of-concept для уязвимости Apache Camel, при которой установка enableCORS=true на endpoint Jetty приводила к установке CrossOriginFilter из Jetty с его стандартными настройками по умолчанию — которые отражают любой origin и разрешают учётные данные. Оператор, который всего лишь запросил CORS, получал политику, позволяющую странице с любого origin выполнять аутентифицированные кросс-доменные запросы к endpoint и читать ответы. Отражённый origin вместе с Access-Control-Allow-Credentials: true — это в точности конфигурация с учётными данными для любого origin, которую стандарт Fetch не позволяет выразить через * — отражение является обычным способом обойти это правило (CWE-942).

Только Spring Boot. Этот воспроизводитель содержит единственный модуль Camel Spring Boot. Дефект находится в camel-jetty, который встраивает HTTP-сервер Jetty. В Camel Quarkus нет расширения camel-quarkus-jetty — Quarkus обслуживает HTTP через Vert.x (platform-http) — поэтому аналога для Quarkus не существует. (Сопутствующий advisory CVE-2026-85316 охватывает тот же класс дефекта в platform-http-vertx.) Модуль Spring Boot демонстрирует как уязвимое, так и исправленное поведение.

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

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

В одном процессе работают два сервера Jetty: уязвимый endpoint /protected (порт 8081) объявлен с enableCORS=true, а проверяющий endpoint /exploit/attack (порт 8080) играет роль браузера атакующего. При каждом вызове проверяющий отправляет кросс-доменный GET к /protected с заголовком Origin: https://evil.example — origin, который развёртывание никогда не авторизовывало — и сообщает о возвращённых заголовках CORS.

  • Уязвимое поведение: ответ отражает Access-Control-Allow-Origin: https://evil.example и возвращает Access-Control-Allow-Credentials: true — любой origin может читать ответы с учётными данными.
  • Исправленное поведение: origin по-прежнему отражается (так что CORS продолжает работать для неаутентифицированных запросов), но Access-Control-Allow-Credentials больше не отправляется для origin, который оператор не указал.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: ACAO reflected + ACAC: true; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85313-jetty-cors-credentials-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: ACAO reflected, ACAC absent; >>> Not exploited

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

СвойствоЗначение
Компонентcamel-jetty (JettyHttpComponent, enableCORS)
CWECWE-942 (Разрешающая меж­доменная политика с недоверенными доменами)
Уровень серьёзностиMEDIUM
Вектор атакиСтраница с любого origin отправляет меж­доменный запрос с учётными данными к эндпоинту, настроенному только с enableCORS=true
ВоздействиеЭндпоинт отражает origin атакующего и предоставляет учётные данные, поэтому страница атакующего может читать аутентифицированные ответы
Затронутые версииС 4.0.0 до 4.18.5, с 4.19.0 до 4.22.1
Исправленные версии4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24450
БлагодарностьClaude Security Scan Tool

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

Исправление

JettyHttpComponent теперь применяет собственные настройки CORS по умолчанию, когда задан enableCORS: allowCredentials по умолчанию имеет значение false, если оператор не настроил его явно. Отражение origin остаётся без изменений, поэтому включение CORS продолжает работать для запросов без учётных данных; оператор, которому нужны меж­доменные запросы с учётными данными, задаёт filterInit.allowCredentials=true и должен указать origin в filterInit.allowedOrigins (и получает предупреждение, если этого не сделает).

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

Настройте параметры CrossOriginFilter явно, вместо того чтобы полагаться на то, что устанавливает enableCORS — укажите разрешённые origin в filterInit.allowedOrigins и не включайте filterInit.allowCredentials, если вы их не указали.

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

Этот репозиторий публикуется в образовательных и защитных целях: чтобы помочь пользователям Apache Camel понять уязвимость, проверить, затронуты ли они, и убедиться, что обновление её устраняет. Origin «атакующего» — это безвредная заглушка (https://evil.example), а и эндпоинт, и проверка выполняются внутри воспроизводителя. Не используйте этот материал против систем, которыми вы не владеете и не управляете.

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