
Reproducteur de PoC pour CVE-2026-49099 (Apache Camel camel-salesforce) : l'en-tête sObjectQuery sans préfixe Camel contourne le filtre d'en-têtes HTTP et remplace la SOQL configurée du producteur (injection SOQL / contrôle d'accès défaillant). Corrigé dans les versions 4.14.8/4.18.3/4.21.0.
sObjectQuery de camel-salesforceReproducteurs 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 (corrigées en 4.14.8 / 4.18.3 / 4.21.0) et démontrent toutes deux le même défaut :
AbstractSalesforceProcessor.getParameter() résout l'en-tête sObjectQuery (et ses homologues apexUrl,
sObjectName, …) en amont de la valeur configurée de l'endpoint. Ces noms d'en-tête sont des chaînes nues, sans préfixe
Camel, et camel-salesforce n'embarque aucun HeaderFilterStrategy ; le filtre de frontière HTTP (HttpHeaderFilterStrategy,
qui ne supprime que les en-têtes Camel*) laisse donc un en-tête HTTP entrant passer directement et écraser la SOQL à portée de
la route — un écrasement de requête SOQL / un contrôle d'accès défaillant (CWE-74 + CWE-639).
Chaque sous-répertoire est un projet autonome avec son propre Dockerfile, docker-compose.yml et README — avec un
composant salesforce de substitution qui enregistre les requêtes, si bien qu'aucune organisation Salesforce, aucun OAuth ni accès
réseau n'est requis. En bref, 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
Le correctif renomme les constantes d'en-tête selon la convention CamelSalesforce* (par ex. CamelSalesforceSObjectQuery), afin
qu'elles soient supprimées à la frontière HTTP comme tout autre en-tête Camel*.
Avis : https://camel.apache.org/security/CVE-2026-49099.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-salesforce |
| CWE | CWE-74 (Injection) / CWE-639 (Contournement d'autorisation via une clé contrôlée par l'utilisateur) |
| Impact | Un client HTTP non authentifié écrase les paramètres SOQL/SOSL/Apex à portée de la route via des en-têtes non filtrés, lisant ou manipulant des données en dehors du périmètre prévu avec les permissions de l'utilisateur d'intégration |
| 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-23716 (PR apache/camel#23887) |
| Crédit | Yu Bao (PayPal) |