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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-85243 — Рабочий прототип на Spring Boot и Quarkus для CVE-2026-85243, демонстрирующий понижение уровня проверки целостности в Apache Camel camel-crypto-pgp и его исправление. | Kitploit
Инструменты/GitHubGitHub/oscerd/cve-2026-85243
Оборонительные ИнструментыАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийКриптографияСтатьи и ИсследованияОбучение и Образование
GitHuboscerd/cve-2026-85243

CVE-2026-85243

Рабочий прототип на Spring Boot и Quarkus для CVE-2026-85243, демонстрирующий понижение уровня проверки целостности в Apache Camel camel-crypto-pgp и его исправление.

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

Популярное

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

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

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

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

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

CVE-2026-85243 — camel-crypto-pgp: понижение уровня проверки целостности (устаревший пакет пропускает проверку)

Запускаемый воспроизводитель proof-of-concept для уязвимости Apache Camel, при которой unmarshal() формата данных PGP проверял код обнаружения модификации только когда сообщение использовало пакет данных, защищённых целостностью, с симметричным шифрованием OpenPGP. Более старый пакет данных с симметричным шифрованием не содержит такого кода, а режим CFB в OpenPGP без него является податливым, поэтому сообщение, использующее этот устаревший пакет, полностью пропускало проверку целостности. Поскольку тип пакета выбирает тот, кто создал сообщение, отправитель — или любой, кто способен переписать сообщение в пути — решал, применяется ли проверка целостности вообще. Существующая опция integrity управляет только маршалингом и не имела аналога на стороне расшифровки, поэтому развёртывание не могло требовать защиты целостности для сообщений, которые оно принимало.

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

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

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

Драйвер эксплойта играет роль отправителя (или посредника), который создаёт сообщение PGP с устаревшим пакетом, шифруя с integrity=false — полученный шифротекст не содержит кода обнаружения модификации. Затем он передаёт это сообщение маршруту, который расшифровывает его с помощью секретного ключа.

  • Уязвимо: сообщение расшифровывается и возвращается его открытый текст (BENIGN-PGP-PAYLOAD-MARKER-5E1F) — проверка целостности была полностью пропущена, поскольку отправитель выбрал устаревший пакет. Развёртывание приняло шифротекст, который оно не могло проверить.
  • Исправлено: дешифратор отклоняет сообщение с PGPException — "PGP message is not integrity protected…" — поскольку новая опция requireIntegrityProtection по умолчанию имеет значение true.

Связки ключей (pubring.gpg, secring.gpg, идентификатор пользователя и пароль оба sdude) — это публичные тестовые фикстуры RSA-2048 из собственных тестов camel-crypto-pgp Apache Camel — инертный материал, включённый для того, чтобы круговой обмен был самодостаточным.

# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: legacy message decrypts; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85243-crypto-pgp-integrity-downgrade-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: rejected "not integrity protected"; >>> 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): legacy message decrypts
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: rejected "not integrity protected"

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

СвойствоЗначение
Компонентcamel-crypto-pgp (PGPKeyAccessDataFormat.unmarshal)
CWECWE-354 (Некорректная проверка значения контроля целостности)
Уровень серьёзностиMEDIUM
Вектор атакиСообщение, созданное с использованием устаревшего пакета симметрично зашифрованных данных (без кода обнаружения модификации)
ВоздействиеПонижение уровня проверки целостности: отправитель/посредник решает, выполняется ли проверка целостности; изменяемый шифротекст принимается без проверки
Затронутые версииС 4.0.0 до 4.18.5, с 4.19.0 до 4.22.1
Исправленные версии4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24441
БлагодарностьClaude Security Scan Tool

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

Исправление

PGPKeyAccessDataFormat.unmarshal добавляет опцию requireIntegrityProtection (по умолчанию true). Когда сообщение не является пакетом с защитой целостности и опция включена, unmarshal теперь выбрасывает PGPException("PGP message is not integrity protected…") вместо его расшифровки. Обратите внимание, что signatureVerificationOption по-прежнему по умолчанию имеет значение optional, поэтому сообщение без подписи всё ещё принимается; именно две опции вместе обеспечивают расшифрованному сообщению подлинность, а не только конфиденциальность. Устанавливайте requireIntegrityProtection=false только для совместимости с отправителем, который всё ещё отправляет устаревший пакет, и рассматривайте расшифрованное содержимое как неаутентифицированное.

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

Отклоняйте сообщения, которые не используют пакет с защитой целостности, до того, как они достигнут формата данных (например, проверяйте заголовок пакета OpenPGP в процессоре перед unmarshal).

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

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

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