
Reproducteur de PoC pour CVE-2026-49098 (Apache Camel camel-kafka) : l'en-tête kafka.OVERRIDE_TOPIC non préfixé par Camel échappe au filtre d'en-têtes HTTP en amont et remplace le topic configuré du producteur, injectant un enregistrement forgé par un attaquant dans un topic Kafka privilégié (injection inter-topic). Corrigé dans les versions 4.14.8/4.18.3/4.21.0.
kafka.OVERRIDE_TOPIC dans camel-kafkaReproducteurs de preuve de concept exécutables pour la même vulnérabilité Apache Camel, un par environnement d'exécution :
| Environnement d'exécution | Répertoire | 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 (embarque Camel 4.20.0) |
Les deux sont des versions affectées (le problème est corrigé dans les versions 4.14.8 / 4.18.3 / 4.21.0), et les deux démontrent le même défaut : KafkaProducer.evaluateTopic() lit l'en-tête kafka.OVERRIDE_TOPIC sans préfixe Camel et le préfère au sujet configuré du point de terminaison. Il contourne le filtre d'en-têtes HTTP (aussi bien le platform-http servlet de Spring Boot que le platform-http Vert.x de Quarkus) et déplace un enregistrement produit vers un sujet choisi par l'attaquant — une injection inter-sujets (CWE-20 → CWE-74).
Chaque sous-répertoire est un projet autonome avec son propre Dockerfile, docker-compose.yml, et un README contenant tous les détails et les étapes de reproduction. En résumé, pour l'un ou l'autre :
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
Avis de sécurité : https://camel.apache.org/security/CVE-2026-49098.html
Ces reproducteurs sont fournis uniquement pour la recherche en sécurité et les tests autorisés, pour une vulnérabilité publiquement divulguée et corrigée. Ne les utilisez pas contre des systèmes sans autorisation explicite.
| Propriété | Valeur |
|---|
| Composant | camel-kafka (Spring Boot: camel-kafka-starter; Quarkus: camel-quarkus-kafka) |
| CWE | CWE-20 (Validation incorrecte des entrées) / CWE-74 (Injection) |
| Impact | Rediriger / injecter un enregistrement produit vers un sujet Kafka arbitraire |
| Versions affectées | From 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0 |
| Versions corrigées | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23584 (PR apache/camel#23602) |
| Crédit | Yu Bao (PayPal) |