
Riproduttore per CVE-2026-48204: iniezione dell'header gridfs.* in Apache Camel camel-mongodb-gridfs che sovrascrive l'operazione GridFS (elencare/leggere/eliminare file) da una richiesta HTTP non autenticata (corretta in 4.14.8/4.18.3/4.21.0)
| Runtime | Directory | 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 (include Camel 4.20.0) |
Entrambe sono versioni vulnerabili (corrette in 4.14.8 / 4.18.3 / 4.21.0), ed entrambe dimostrano lo stesso difetto: quando
la route non imposta alcuna operation sull'endpoint mongodb-gridfs, GridFsProducer prende l'operazione dall'header
gridfs.operation. Tale header (e gridfs.objectid) non è nel namespace Camel*, quindi il filtro di confine HTTP
non lo rimuove — un client non autenticato di un endpoint di upload file cambia l'operazione in
listAll (elenca ogni file, divulgando gli ObjectId) o remove (elimina un file tramite id) — CWE-20 / CWE-284.
Ogni sottodirectory è un progetto autonomo (più un container MongoDB avviato dal suo docker-compose.yml) con
il proprio Dockerfile e README. In breve, per entrambi:
cd camel-spring-boot # oppure: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
| Proprietà | Valore |
|---|---|
| Componente | camel-mongodb-gridfs |
| Classe interessata | org.apache.camel.component.mongodb.gridfs.GridFsProducer (operazione da gridfs.operation quando l'operation dell'endpoint non è impostata) |
| CWE | CWE-20 (Validazione impropria dell'input) / CWE-284 (Controllo degli accessi improprio) |
| Impatto | Sovrascrivere l'operazione GridFS tramite header → enumerare / leggere / eliminare file; iniezione NoSQL in gridfs.metadata |
| Versioni vulnerabili | Dalla 4.0.0 prima della 4.14.8, dalla 4.15.0 prima della 4.18.3, dalla 4.19.0 prima della 4.21.0 |
| Versioni corrette | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23575 (PR apache/camel#23413) |
| Crediti | Yu Bao (PayPal) |
Questi riproduttori sono forniti esclusivamente per ricerca sulla sicurezza e test autorizzati, per una vulnerabilità divulgata pubblicamente e corretta. Non utilizzarli contro sistemi senza esplicita autorizzazione.