
Reprodutor para CVE-2026-48204: injeção de cabeçalho gridfs.* do Apache Camel camel-mongodb-gridfs sobrescrevendo a operação GridFS (enumerar/ler/excluir arquivos) a partir de uma solicitação HTTP não autenticada (corrigido em 4.14.8/4.18.3/4.21.0)
| Runtime | Diretório | 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 (inclui Camel 4.20.0) |
Ambas são versões afetadas (corrigidas em 4.14.8 / 4.18.3 / 4.21.0), e ambas demonstram o mesmo defeito: quando
a rota não define operation no endpoint mongodb-gridfs, o GridFsProducer obtém a operação do cabeçalho
gridfs.operation. Esse cabeçalho (e o gridfs.objectid) não está no namespace Camel*, portanto o filtro de
limite HTTP não o remove — um cliente não autenticado de um endpoint de upload de arquivos altera a operação para
listAll (enumerar todos os arquivos, vazando ObjectIds) ou remove (excluir um arquivo por id) — CWE-20 / CWE-284.
Cada subdiretório é um projeto independente (mais um contêiner MongoDB iniciado pelo seu docker-compose.yml) com
seu próprio Dockerfile e README. Em resumo, para qualquer um deles:
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
| Propriedade | Valor |
|---|---|
| Componente | camel-mongodb-gridfs |
| Classe Afetada | org.apache.camel.component.mongodb.gridfs.GridFsProducer (operação a partir de gridfs.operation quando a operation do endpoint não está definida) |
| CWE | CWE-20 (Validação de Entrada Incorreta) / CWE-284 (Controle de Acesso Incorreto) |
| Impacto | Substituir a operação do GridFS via cabeçalhos → enumerar / ler / excluir arquivos; injeção NoSQL em gridfs.metadata |
| Versões Afetadas | De 4.0.0 antes de 4.14.8, de 4.15.0 antes de 4.18.3, de 4.19.0 antes de 4.21.0 |
| Versões Corrigidas | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23575 (PR apache/camel#23413) |
| Crédito | Yu Bao (PayPal) |
Estes reprodutores são fornecidos apenas para pesquisa de segurança e testes autorizados, para uma vulnerabilidade divulgada publicamente e corrigida. Não os utilize contra sistemas sem permissão explícita.