
Reproductor de PoC para CVE-2026-49098 (Apache Camel camel-kafka): el encabezado kafka.OVERRIDE_TOPIC sin prefijo Camel se escapa del filtro de encabezados HTTP upstream y sobrescribe el topic configurado del productor, inyectando un registro forjado por el atacante en un topic Kafka privilegiado (inyección entre topics). Corregido en 4.14.8/4.18.3/4.21.0.
kafka.OVERRIDE_TOPIC de camel-kafkaReproductores de prueba de concepto ejecutables para la misma vulnerabilidad de Apache Camel, uno por runtime:
| 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 (el problema se corrige en 4.14.8 / 4.18.3 / 4.21.0), y ambas demuestran el mismo
defecto: KafkaProducer.evaluateTopic() lee la cabecera kafka.OVERRIDE_TOPIC sin el prefijo Camel y la prioriza
sobre el topic configurado del endpoint. Dicha cabecera escapa al filtro de cabeceras HTTP (tanto al platform-http
de servlet de Spring Boot como al platform-http de Vert.x de Quarkus) y mueve un registro producido a un topic
elegido por el atacante: inyección entre topics (CWE-20 → CWE-74).
Cada subdirectorio es un proyecto autocontenido con su propio Dockerfile, docker-compose.yml y README con
todos los detalles y pasos de reproducción. En resumen, para cualquiera de los dos:
cd camel-spring-boot # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
Aviso: https://camel.apache.org/security/CVE-2026-49098.html
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.
| Propiedad | Valor |
|---|
| Componente | camel-kafka (Spring Boot: camel-kafka-starter; Quarkus: camel-quarkus-kafka) |
| CWE | CWE-20 (Validación de entrada incorrecta) / CWE-74 (Inyección) |
| Impacto | Redirigir / inyectar un registro producido a un topic arbitrario de Kafka |
| Versiones afectadas | From 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0 |
| Versiones corregidas | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23584 (PR apache/camel#23602) |
| Crédito | Yu Bao (PayPal) |