
Reproducer für CVE-2026-48206: Apache Camel camel-jira IssueKey (und andere nicht mit Camel-Präfix versehene) Header-Injection, die beliebige JIRA-Issue-Operationen mit den Service-Account-Anmeldedaten des Endpunkts auslöst (behoben in 4.14.8/4.18.3/4.21.0)
| 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 (behoben in 4.14.8 / 4.18.3 / 4.21.0) und beide demonstrieren denselben Fehler: Die
camel-jira-Producer lesen ihre Operationsparameter (Issue-Schlüssel, Projekt-Schlüssel, Übergangs-ID, …) aus Exchange-
Message-Headern, deren Konstanten — IssueKey, ProjectKey, IssueTransitionId, … — nackte, nicht mit Camel-präfixierte
Zeichenketten sind. Der HTTP-Grenzfilter (HttpHeaderFilterStrategy) entfernt nur Camel*, sodass ein eingehender HTTP-Header
dieses Namens direkt in die Exchange gelangt und überschreibt, worauf die Route einwirkt. Ein nicht authentifizierter Client injiziert
IssueKey: PROD-999 und das Dienstkonto der Route löscht ein beliebiges Issue (CWE-639).
Jedes Unterverzeichnis ist ein eigenständiges Projekt mit eigenem Dockerfile, eigener docker-compose.yml und eigener README. Kurz
gesagt, für beide:
cd camel-spring-boot # oder: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
| Eigenschaft | Wert |
|---|---|
| Komponente | camel-jira |
| CWE | CWE-20 (Unzureichende Eingabevalidierung) / CWE-639 (Autorisierungs-Bypass durch benutzergesteuerten Schlüssel) |
| Auswirkung | Beliebige JIRA-Operationen ausführen (löschen/übergehen/erstellen/ändern) mit den Dienstkonto-Anmeldedaten des Endpunkts |
| Betroffene Versionen | Von 4.0.0 vor 4.14.8, von 4.15.0 vor 4.18.3, von 4.19.0 vor 4.21.0 |
| Behobene Versionen | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23576 (PR apache/camel#23417) |
| Anerkennung | Yu Bao (PayPal) |
Der Fix benennt die Header-Konstanten in die CamelJira*-Konvention um (z. B. CamelJiraIssueKey), sodass sie
an der HTTP-Grenze wie jeder andere Camel*-Header entfernt werden.
Diese Reproduktoren werden nur für Sicherheitsforschung und autorisierte Tests bereitgestellt, für eine öffentlich offengelegte und behobene Schwachstelle. Verwenden Sie sie nicht gegen Systeme ohne ausdrückliche Genehmigung.