
Replica per CVE-2026-46456 — Apache Camel camel-aws2-sqs iniezione dell'header message-attribute in ingresso (iniezione dell'header di controllo Camel tramite sqs:SendMessage → reindirizzamento del producer a valle / RCE)
Reproducer proof-of-concept eseguibili per la stessa vulnerabilità Apache Camel, uno per runtime:
| Runtime | Directory | Stack | Sink dirottato | Impatto dimostrato |
|---|---|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 | exec: via CamelExecCommand* | esecuzione di codice remoto |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (include Camel 4.20.0) | http via CamelHttpUri | falsificazione di richieste lato server |
Entrambe sono versioni vulnerabili (corrette in 4.14.8 / 4.18.3 / 4.21.0) ed entrambe dimostrano lo stesso difetto:
Sqs2HeaderFilterStrategy configura solo un filtro in uscita, quindi Sqs2Consumer mappa ogni attributo di messaggio SQS in entrata
sull'Exchange — inclusi gli header di controllo Camel. L'autore della route non ha mai esposto un modo per
cambiare il target a valle, ma un attaccante che può accodare un messaggio ne inietta uno e indirizza il producer
a valle (CWE-20).
La variante Spring Boot dimostra la RCE tramite un sink exec:. Quel sink non è raggiungibile di default su Camel
4.20.0 (cioè quello incluso in Camel Quarkus 3.36.0): CAMEL-23315 ha aggiunto un'opzione allowControlHeaders a
camel-exec, con default false, pubblicata per la prima volta in 4.20.0. Questo irrigidimento è indipendente da questa CVE e
non la corregge: gli attributi di messaggio iniettati diventano comunque header dell'Exchange nella 4.20.0. La variante Quarkus
dirotta quindi il producer http tramite CamelHttpUri, che viene onorato di default, producendo SSRF.
Ogni sottodirectory è un progetto autonomo (più un container LocalStack avviato dal suo docker-compose.yml)
con il proprio Dockerfile e README. In breve, per entrambi:
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
Avviso di sicurezza: https://camel.apache.org/security/CVE-2026-46456.html
Questi reproducer sono forniti solo per ricerca sulla sicurezza e test autorizzati, per una vulnerabilità divulgata pubblicamente e corretta. Non utilizzarli contro sistemi senza esplicita autorizzazione.
| Proprietà | Valore |
|---|
| Componente | camel-aws2-sqs |
| Classe interessata | org.apache.camel.component.aws2.sqs.Sqs2HeaderFilterStrategy (nessun filtro in entrata) / Sqs2Consumer |
| CWE | CWE-20: Validazione impropria dell'input |
| Impatto | Un mittente di messaggi inietta header di controllo Camel → indirizza i producer a valle |
| Versioni interessate | Dalla 4.0.0 alla 4.14.8 esclusa, dalla 4.15.0 alla 4.18.3 esclusa, dalla 4.19.0 alla 4.21.0 esclusa |
| Versioni corrette | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23506 |