
Reproductor para CVE-2026-48203: inyección de cabeceras SolrParam./SolrField. en camel-solr de Apache Camel que permite la inyección de campos de documentos Solr y SSRF a través del parámetro shards (corregido en 4.14.8/4.18.3/4.21.0)
| Runtime | Directorio | 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 (incluye Camel 4.20.0) |
Ambas son versiones afectadas (corregidas en 4.14.8 / 4.18.3 / 4.21.0), y ambas demuestran el mismo defecto: el
productor camel-solr copia cualquier cabecera entrante que comience con SolrField. al documento indexado y cualquier cabecera
que comience con SolrParam. a los parámetros de solicitud de Solr. Esos prefijos no están en el espacio de nombres Camel*, por lo
que el filtro de límite HTTP no los elimina — un cliente de un endpoint fijo de "guardar una nota" / "buscar" inyecta
campos de documento arbitrarios (CWE-74) y parámetros de solicitud de Solr, incluido shards para falsificación de solicitudes del lado del servidor
(CWE-918).
Ambas variantes utilizan un consumidor netty-http (no un contenedor de servlets): la coincidencia de prefijos SolrField. / SolrParam.
distingue entre mayúsculas y minúsculas, y netty-http conserva las mayúsculas y minúsculas de los nombres de cabecera donde un contenedor de servlets las convertiría a minúsculas.
Cada subdirectorio es un proyecto autocontenido (más un contenedor de Solr iniciado por su docker-compose.yml) con su
propio Dockerfile y README. En resumen, para cualquiera de ellos:
cd camel-spring-boot # o: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
El contenedor de Solr se ejecuta con -Dsolr.disable.allowUrls=true para que el SSRF de shards alcance el listener interno;
en un Solr con allowUrls configurado, la propia defensa de Solr bloquea el SSRF de shards, pero la inyección de campos de documento
SolrField.* no se ve afectada.
| Propiedad | Valor |
|---|---|
| Componente | camel-solr |
| Clase Afectada | org.apache.camel.component.solr.SolrProducer / SolrRequestConverter (prefijos SolrParam. / SolrField.) |
| CWE | CWE-20 → CWE-74 (inyección de campos) y CWE-918 (SSRF) |
| Impacto | Inyectar parámetros de solicitud de Solr arbitrarios (shards/stream.url → SSRF, qt → handlers de administración) y campos de documento indexado arbitrarios |
| Versiones Afectadas | Desde 4.0.0 antes de 4.14.8, desde 4.15.0 antes de 4.18.3, desde 4.19.0 antes de 4.21.0 |
| Versiones Corregidas | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23597 (PR apache/camel#23410) |
| Crédito | Yu Bao (PayPal) |
Estos reproductores se proporcionan únicamente para investigación de seguridad y pruebas autorizadas, para una vulnerabilidad divulgada públicamente y corregida. No los utilice contra sistemas sin permiso explícito.