
PoC-Reproducer für CVE-2026-49099 (Apache Camel camel-salesforce): Der nicht mit Camel-Präfix versehene sObjectQuery-Header umgeht den HTTP-Header-Filter und überschreibt die konfigurierte SOQL-Abfrage des Producers (SOQL-Injection / fehlerhafte Zugriffskontrolle). Behoben in 4.14.8/4.18.3/4.21.0.
sObjectQuery-Header-InjectionAusführbare Proof-of-Concept-Reproduktionen für dieselbe Apache-Camel-Schwachstelle, eine 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 (behoben in 4.14.8 / 4.18.3 / 4.21.0) und demonstrieren denselben Fehler:
AbstractSalesforceProcessor.getParameter() löst den sObjectQuery-Header (und seine Geschwister apexUrl,
sObjectName, …) vor dem konfigurierten Wert des Endpunkts auf. Diese Header-Namen sind nackte, nicht mit
Camel-präfixierte Zeichenfolgen, und camel-salesforce bringt keine HeaderFilterStrategy mit, sodass der
HTTP-Grenzfilter (HttpHeaderFilterStrategy, der nur Camel* entfernt) einen eingehenden HTTP-Header direkt
durchlässt und das bereichsbezogene SOQL der Route überschreibt — eine SOQL-Abfrageüberschreibung / fehlerhafte
Zugriffskontrolle (CWE-74 + CWE-639).
Jedes Unterverzeichnis ist ein eigenständiges Projekt mit eigenem Dockerfile, eigener docker-compose.yml und
eigener README — mit einer aufzeichnenden salesforce-Ersatzkomponente, sodass keine Salesforce-Organisation, kein
OAuth und kein Netzwerk erforderlich sind. 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
Der Fix benennt die Header-Konstanten in die CamelSalesforce*-Konvention um (z. B. CamelSalesforceSObjectQuery),
sodass sie wie alle anderen Camel*-Header an der HTTP-Grenze herausgefiltert werden.
Advisory: https://camel.apache.org/security/CVE-2026-49099.html
Diese Reproduktionen dienen ausschließlich der Sicherheitsforschung und autorisierten Tests für eine öffentlich offengelegte und behobene Schwachstelle. Verwenden Sie sie nicht ohne ausdrückliche Genehmigung gegen Systeme.
| Eigenschaft | Wert |
|---|
| Komponente | camel-salesforce |
| CWE | CWE-74 (Injection) / CWE-639 (Authorization Bypass Through User-Controlled Key) |
| Auswirkung | Ein nicht authentifizierter HTTP-Client überschreibt über ungefilterte Header die auf die Route begrenzten SOQL/SOSL/Apex-Parameter und liest oder verarbeitet Daten außerhalb des vorgesehenen Umfangs mit den Berechtigungen des Integrationsbenutzers |
| 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-23716 (PR apache/camel#23887) |
| Anerkennung | Yu Bao (PayPal) |