
PoC zur Reproduktion von CVE-2026-49098 (Apache Camel camel-kafka): Der nicht mit Camel-Präfix versehene kafka.OVERRIDE_TOPIC-Header umgeht den Upstream-HTTP-Header-Filter und überschreibt das konfigurierte Topic des Producers, wodurch ein vom Angreifer gefälschter Datensatz auf ein privilegiertes Kafka-Topic injiziert wird (Cross-Topic-Injektion). Behoben in 4.14.8/4.18.3/4.21.0.
kafka.OVERRIDE_TOPIC Header-InjectionAusführbare Proof-of-Concept-Reproducer für dieselbe Apache-Camel-Sicherheitslücke, einer pro Laufzeitumgebung:
| Laufzeitumgebung | Verzeichnis | 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 (bündelt Camel 4.20.0) |
Beide sind betroffene Versionen (der Fehler ist in 4.14.8 / 4.18.3 / 4.21.0 behoben), und beide demonstrieren denselben Fehler: KafkaProducer.evaluateTopic() liest den nicht mit Camel präfixierten kafka.OVERRIDE_TOPIC-Header und bevorzugt ihn gegenüber dem im Endpoint konfigurierten Topic. Er umgeht den HTTP-Header-Filter (bei Spring Boots Servlet-platform-http ebenso wie bei Quarkus' Vert.x-platform-http) und verschiebt einen produzierten Datensatz auf ein vom Angreifer gewähltes Topic — Cross-Topic-Injection (CWE-20 → CWE-74).
Jedes Unterverzeichnis ist ein eigenständiges Projekt mit eigener Dockerfile, eigener docker-compose.yml und einer README, die vollständige Details und Reproduktionsschritte enthält. Kurz gesagt, für beide:
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
Sicherheitshinweis: https://camel.apache.org/security/CVE-2026-49098.html
Diese Reproducer werden ausschließlich für Sicherheitsforschung und autorisierte Tests bereitgestellt, und zwar für eine öffentlich offengelegte und behobene Sicherheitslücke. Verwenden Sie sie nicht gegen Systeme ohne ausdrückliche Genehmigung.
| Eigenschaft | Wert |
|---|
| Komponente | camel-kafka (Spring Boot: camel-kafka-starter; Quarkus: camel-quarkus-kafka) |
| CWE | CWE-20 (Unzureichende Eingabevalidierung) / CWE-74 (Injection) |
| Auswirkung | Umleiten / Injizieren eines produzierten Datensatzes auf ein beliebiges Kafka-Topic |
| Betroffene Versionen | Von 4.0.0 bis vor 4.14.8, von 4.15.0 bis vor 4.18.3, von 4.19.0 bis vor 4.21.0 |
| Behobene Versionen | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23584 (PR apache/camel#23602) |
| Danksagung | Yu Bao (PayPal) |