
Reproducteur pour CVE-2026-48204 : injection d'en-tête gridfs.* dans camel-mongodb-gridfs d'Apache Camel, permettant de remplacer l'opération GridFS (énumérer/lire/supprimer des fichiers) à partir d'une requête HTTP non authentifiée (corrigé dans les versions 4.14.8/4.18.3/4.21.0)
gridfs.* dans camel-mongodb-gridfsReproducteurs de preuve de concept exécutables pour la même vulnérabilité Apache Camel, un par environnement d'exécution :
| 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 : lorsque
la route ne définit aucune operation sur le point de terminaison mongodb-gridfs, GridFsProducer prend l'opération depuis l'en-tête
gridfs.operation. Cet en-tête (ainsi que gridfs.objectid) n'est pas dans l'espace de noms Camel*, donc le filtre
de limite HTTP ne le supprime pas — un client non authentifié d'un point de terminaison de téléversement de fichier bascule l'opération vers
listAll (énumérer chaque fichier, divulguant les ObjectIds) ou remove (supprimer un fichier par identifiant) — CWE-20 / CWE-284.
Chaque sous-répertoire est un projet autonome (plus un conteneur MongoDB 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
| Propriété | Valeur |
|---|---|
| Composant | camel-mongodb-gridfs |
| Classe affectée | org.apache.camel.component.mongodb.gridfs.GridFsProducer (opération issue de gridfs.operation lorsque l'operation du point de terminaison n'est pas définie) |
| CWE | CWE-20 (Validation d'entrée incorrecte) / CWE-284 (Contrôle d'accès incorrect) |
| Impact | Remplacement de l'opération GridFS via les en-têtes → énumération / lecture / suppression de fichiers ; injection NoSQL via gridfs.metadata |
| 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-23575 (PR apache/camel#23413) |
| Crédit | Yu Bao (PayPal) |
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.