
Reproducer for CVE-2026-46456 — Apache Camel camel-aws2-sqs inbound message-attribute header injection (Camel control-header injection via sqs:SendMessage → downstream producer steering / RCE)
Runnable proof-of-concept reproducers for the same Apache Camel vulnerability, one per runtime:
| Runtime | Directory | Stack | Hijacked sink | Demonstrated impact |
|---|---|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 | exec: via CamelExecCommand* | remote code execution |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (bundles Camel 4.20.0) | http via CamelHttpUri | server-side request forgery |
Both are affected versions (fixed in 4.14.8 / 4.18.3 / 4.21.0), and both demonstrate the identical defect:
Sqs2HeaderFilterStrategy configures only an outbound filter, so Sqs2Consumer maps every inbound SQS
message attribute onto the Exchange — including Camel control headers. The route author never exposed a way to
change the downstream target, but an attacker who can enqueue a message injects one and steers the downstream
producer (CWE-20).
The Spring Boot variant proves RCE through an exec: sink. That sink is not reachable by default on Camel
4.20.0 (what Camel Quarkus 3.36.0 bundles): CAMEL-23315 added an allowControlHeaders option to
camel-exec, defaulting to false, first shipped in 4.20.0. That hardening is independent of this CVE and
does not fix it — the injected message attributes still become Exchange headers at 4.20.0. The Quarkus variant
therefore hijacks the http producer via CamelHttpUri, which is honoured by default, yielding SSRF.
Each subdirectory is a self-contained project (plus a LocalStack container started by its docker-compose.yml)
with its own Dockerfile 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
Advisory: https://camel.apache.org/security/CVE-2026-46456.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-aws2-sqs |
| Affected Class | org.apache.camel.component.aws2.sqs.Sqs2HeaderFilterStrategy (no inbound filter) / Sqs2Consumer |
| CWE | CWE-20: Improper Input Validation |
| Impact | A message sender injects Camel control headers → steer downstream producers |
| 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-23506 |