
Reproducteur pour CVE-2026-46456 — injection d'en-tête d'attribut de message entrant dans camel-aws2-sqs d'Apache Camel (injection d'en-tête de contrôle Camel via sqs:SendMessage → orientation du producteur en aval / RCE)
| Environnement | Répertoire | Stack | Cible détournée | Impact démontré |
|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 | exec: via CamelExecCommand* | exécution de code à distance |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (inclut Camel 4.20.0) | http via CamelHttpUri | falsification de requête côté serveur |
Les deux sont des versions affectées (corrigées en 4.14.8 / 4.18.3 / 4.21.0), et les deux démontrent le défaut identique :
Sqs2HeaderFilterStrategy configure uniquement un filtre sortant, donc Sqs2Consumer mappe chaque attribut de
message SQS entrant sur l'Exchange — y compris les en-têtes de contrôle Camel. L'auteur de la route n'a jamais exposé de
moyen de modifier la cible en aval, mais un attaquant capable de mettre un message en file d'attente en injecte un et
oriente le producteur en aval (CWE-20).
La variante Spring Boot prouve une RCE via une cible exec:. Cette cible n'est pas accessible par défaut sur Camel
4.20.0 (ce que Camel Quarkus 3.36.0 inclut) : CAMEL-23315 a ajouté une option allowControlHeaders à
camel-exec, avec une valeur par défaut de false, publiée pour la première fois en 4.20.0. Ce durcissement est
indépendant de cette CVE et ne la corrige pas — les attributs de messages injectés deviennent toujours des en-têtes
d'Exchange en 4.20.0. La variante Quarkus détourne donc le producteur http via CamelHttpUri, qui est honoré par
défaut, produisant une SSRF.
Chaque sous-répertoire est un projet autonome (plus un conteneur LocalStack démarré par son docker-compose.yml)
avec son propre Dockerfile et son propre README. En bref, pour l'un ou l'autre :
cd camel-spring-boot # ou : cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
| Propriété | Valeur |
|---|---|
| Composant | camel-aws2-sqs |
| Classe affectée | org.apache.camel.component.aws2.sqs.Sqs2HeaderFilterStrategy (aucun filtre entrant) / Sqs2Consumer |
| CWE | CWE-20 : Validation incorrecte des entrées |
| Impact | Un expéditeur de message injecte des en-têtes de contrôle Camel → oriente les producteurs en aval |
| Versions affectées | De 4.0.0 avant 4.14.8, de 4.15.0 avant 4.18.3, de 4.19.0 avant 4.21.0 |
| Versions corrigées | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23506 |
Avis de sécurité : https://camel.apache.org/security/CVE-2026-46456.html
Ces reproducteurs sont fournis uniquement pour la recherche en sécurité et les tests autorisés, pour une vulnérabilité divulguée publiquement et corrigée. Ne les utilisez pas contre des systèmes sans autorisation explicite.