
Reproducer for CVE-2026-48206: Apache Camel camel-jira IssueKey (and other non-Camel-prefixed) header injection driving arbitrary JIRA issue operations with the endpoint's service-account credentials (fixed in 4.14.8/4.18.3/4.21.0)
IssueKey Header InjectionRunnable proof-of-concept reproducers for the same Apache Camel vulnerability, one per runtime:
| Runtime | Directory | Stack |
|---|---|---|
| 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 (bundles Camel 4.20.0) |
Both are affected versions (fixed in 4.14.8 / 4.18.3 / 4.21.0), and both demonstrate the identical defect: the
camel-jira producers read their operation parameters (issue key, project key, transition id, …) from Exchange
message headers whose constants — IssueKey, ProjectKey, IssueTransitionId, … — are bare, non-Camel-prefixed
strings. The HTTP boundary filter (HttpHeaderFilterStrategy) strips only Camel*, so an inbound HTTP header of
that name passes straight into the Exchange and overrides what the route acts on. An unauthenticated client injects
IssueKey: PROD-999 and the route's service account deletes an arbitrary issue (CWE-639).
Each subdirectory is a self-contained project with its own Dockerfile, docker-compose.yml, and README. In
short, for either:
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
The fix renames the header constants to the CamelJira* convention (e.g. CamelJiraIssueKey), so they are
stripped at the HTTP boundary like every other Camel* header.
Advisory: https://camel.apache.org/security/CVE-2026-48206.html
These reproducers are provided for security research and authorized testing only, for a publicly disclosed and fixed vulnerability. Do not use them against systems without explicit permission.
| Property | Value |
|---|
| Component | camel-jira |
| CWE | CWE-20 (Improper Input Validation) / CWE-639 (Authorization Bypass Through User-Controlled Key) |
| Impact | Drive arbitrary JIRA operations (delete/transition/create/modify) with the endpoint's service-account credentials |
| Affected Versions | From 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0 |
| Fixed Versions | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23576 (PR apache/camel#23417) |
| Credit | Yu Bao (PayPal) |