
Reproducteur pour CVE-2026-48203 : injection d'en-tête Apache Camel camel-solr SolrParam./SolrField. permettant l'injection de champs de document Solr et SSRF via le paramètre shards (corrigé dans 4.14.8/4.18.3/4.21.0)
| Runtime | 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 (inclut Camel 4.20.0) |
Les deux sont des versions affectées (corrigées en 4.14.8 / 4.18.3 / 4.21.0), et les deux démontrent le même défaut : le
producteur camel-solr copie tout en-tête entrant commençant par SolrField. dans le document indexé et tout en-tête
commençant par SolrParam. dans les paramètres de requête Solr. Ces préfixes ne sont pas dans l'espace de noms Camel*, donc
le filtre de limite HTTP ne les supprime pas — un client d'un point de terminaison « enregistrer une note » / « rechercher » corrigé injecte
des champs de document arbitraires (CWE-74) et des paramètres de requête Solr, y compris shards pour la falsification de requête
côté serveur (CWE-918).
Les deux variantes utilisent un consommateur netty-http (pas un conteneur de servlets) : la correspondance de préfixe SolrField. / SolrParam.
est sensible à la casse, et netty-http préserve la casse des noms d'en-tête là où un conteneur de servlets la mettrait en minuscules.
Chaque sous-répertoire est un projet autonome (plus un conteneur Solr démarré par son docker-compose.yml) avec son
propre Dockerfile et README. En bref, pour l'un ou l'autre :
cd camel-spring-boot # ou : cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
Le conteneur Solr s'exécute avec -Dsolr.disable.allowUrls=true afin que la SSRF shards atteigne l'écouteur interne ;
sur un Solr avec allowUrls configuré, la propre défense de Solr bloque la SSRF shards, mais l'injection de champs de document SolrField.*
n'est pas affectée.
| Propriété | Valeur |
|---|---|
| Composant | camel-solr |
| Classe affectée | org.apache.camel.component.solr.SolrProducer / SolrRequestConverter (préfixes SolrParam. / SolrField.) |
| CWE | CWE-20 → CWE-74 (injection de champs) et CWE-918 (SSRF) |
| Impact | Injecter des paramètres de requête Solr arbitraires (shards/stream.url → SSRF, qt → gestionnaires d'administration) et des champs de document indexé arbitraires |
| 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-23597 (PR apache/camel#23410) |
| Crédit | Yu Bao (PayPal) |
Avis de sécurité : https://camel.apache.org/security/CVE-2026-48203.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.