
Воспроизведение для CVE-2026-48206: внедрение заголовка IssueKey (и других без префикса Camel) в Apache Camel camel-jira, позволяющее выполнять произвольные операции с задачами JIRA с учётными данными сервисного аккаунта конечной точки (исправлено в 4.14.8/4.18.3/4.21.0)
IssueKey в camel-jiraРабочие 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) и демонстрируют один и тот же дефект: продюсеры camel-jira читают свои параметры операций (ключ задачи, ключ проекта, идентификатор перехода и т. д.) из заголовков сообщений Exchange, константы которых — IssueKey, ProjectKey, IssueTransitionId, … — являются «голыми» строками без префикса Camel. Пограничный HTTP-фильтр (HttpHeaderFilterStrategy) отбрасывает только Camel*, поэтому входящий HTTP-заголовок с таким именем беспрепятственно попадает в Exchange и переопределяет то, на что действует маршрут. Неаутентифицированный клиент внедряет IssueKey: PROD-999, и сервисный аккаунт маршрута удаляет произвольную задачу (CWE-639).
Каждый подкаталог представляет собой самодостаточный проект с собственными Dockerfile, docker-compose.yml и 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
Исправление переименовывает константы заголовков в соответствии с соглашением CamelJira* (например, CamelJiraIssueKey), поэтому они отбрасываются на HTTP-границе, как и любой другой заголовок Camel*.
Уведомление: https://camel.apache.org/security/CVE-2026-48206.html
Эти репродукторы предоставлены только для исследований в области безопасности и авторизованного тестирования — для публично раскрытой и исправленной уязвимости. Не используйте их против систем без явного разрешения.
| Свойство | Значение |
|---|
| Компонент | camel-jira |
| CWE | CWE-20 (Ненадлежащая проверка входных данных) / CWE-639 (Обход авторизации через управляемый пользователем ключ) |
| Влияние | Выполнение произвольных операций JIRA (удаление/переход/создание/изменение) с использованием учётных данных сервисного аккаунта конечной точки |
| Затронутые версии | с 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-23576 (PR apache/camel#23417) |
| Автор | Yu Bao (PayPal) |