
Reprodutor para CVE-2026-48203: injeção de cabeçalho SolrParam./SolrField. do camel-solr do Apache Camel, permitindo injeção de campos de documentos Solr e SSRF por meio do parâmetro shards (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) |
Ambos são versões afetadas (corrigidas em 4.14.8 / 4.18.3 / 4.21.0), e ambos demonstram o mesmo defeito: o
produtor camel-solr copia qualquer cabeçalho de entrada que comece com SolrField. para o documento indexado e qualquer cabeçalho
que comece com SolrParam. para os parâmetros de requisição do Solr. Esses prefixos não estão no namespace Camel*, portanto
o filtro de limite HTTP não os remove — um cliente de um endpoint "salvar nota" / "buscar" corrigido injeta
campos arbitrários de documento (CWE-74) e parâmetros de requisição do Solr, incluindo shards para falsificação de requisição
no lado do servidor (CWE-918).
Ambas as variantes usam um consumidor netty-http (não um contêiner de servlet): a correspondência de prefixo SolrField. / SolrParam.
distingue maiúsculas de minúsculas, e o netty-http preserva o uso de maiúsculas/minúsculas nos nomes de cabeçalho onde um contêiner de servlet as converteria para minúsculas.
Cada subdiretório é um projeto autônomo (mais um contêiner Solr 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
O contêiner Solr é executado com -Dsolr.disable.allowUrls=true para que o SSRF via shards alcance o listener interno;
em um Solr com allowUrls configurado, a própria defesa do Solr bloqueia o SSRF via shards, mas a injeção de campos
de documento SolrField.* não é afetada.
| Propriedade | Valor |
|---|---|
| Componente | camel-solr |
| Classe Afetada | org.apache.camel.component.solr.SolrProducer / SolrRequestConverter (prefixos SolrParam. / SolrField.) |
| CWE | CWE-20 → CWE-74 (injeção de campos) e CWE-918 (SSRF) |
| Impacto | Injetar parâmetros arbitrários de requisição do Solr (shards/stream.url → SSRF, qt → handlers administrativos) e campos arbitrários de documento indexado |
| 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-23597 (PR apache/camel#23410) |
| 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.