
Репродуктор для CVE-2026-46457 — внедрение входящих заголовков Apache Camel camel-nats (инъекция управляющих заголовков Camel через издателя NATS; CamelHttpUri -> SSRF)
Рабочие proof-of-concept репродьюсеры для одной и той же уязвимости Apache Camel, по одному на каждый рантайм:
| Рантайм | Каталог | Стек |
|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (содержит Camel 4.20.0) |
Обе — затронутые версии (исправлены в 4.14.8 / 4.18.3 / 4.21.0), и обе демонстрируют один и тот же дефект:
NatsConfiguration по умолчанию устанавливает headerFilterStrategy как просто new DefaultHeaderFilterStrategy() без
входящих правил, поэтому NatsConsumer копирует все входящие заголовки сообщений NATS в Exchange — включая
CamelHttpUri. Продюсер camel-http использует этот заголовок как URI своего запроса, поэтому любой, кто может публиковать в
потребляемый subject, перенаправляет исходящий запрос на выбранную им цель (SSRF, CWE-20). Тот же приём работает с любым
продюсером, управляемым через заголовки (CamelFileName, CamelSqlQuery, ...).
Каждый подкаталог — это самодостаточный проект (плюс NATS-брокер, запускаемый его docker-compose.yml) со своим
Dockerfile и README. Если кратко, для любого из них:
cd camel-spring-boot # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
Рекомендация: https://camel.apache.org/security/CVE-2026-46457.html
Эти репродьюсеры предоставлены только для исследований в области безопасности и авторизованного тестирования — для публично раскрытой и исправленной уязвимости. Не используйте их против систем без явного разрешения.
| Свойство | Значение |
|---|
| Компонент | camel-nats |
| Затронутый класс | org.apache.camel.component.nats.NatsConfiguration (по умолчанию DefaultHeaderFilterStrategy) / NatsConsumer |
| CWE | CWE-20: некорректная проверка входных данных |
| Воздействие | Публикующий в subject может внедрять управляющие заголовки Camel → управлять нижестоящими продюсерами (здесь показан SSRF) |
| Затронутые версии | С 4.0.0 до 4.14.8, с 4.15.0 до 4.18.3, с 4.19.0 до 4.21.0 |
| Исправленные версии | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23515 |