
Reproductor para CVE-2026-46456 — inyección de cabeceras de atributos de mensaje entrantes en camel-aws2-sqs de Apache Camel (inyección de cabecera de control de Camel vía sqs:SendMessage → manipulación del productor aguas abajo / RCE)
Reproducciones de prueba de concepto ejecutables para la misma vulnerabilidad de Apache Camel, una por runtime:
| Runtime | Directorio | Stack | Sink secuestrado | Impacto demostrado |
|---|---|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 | exec: vía CamelExecCommand* | ejecución remota de código |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (incluye Camel 4.20.0) | http vía CamelHttpUri | falsificación de solicitudes del lado del servidor |
Ambas son versiones afectadas (corregidas en 4.14.8 / 4.18.3 / 4.21.0) y demuestran el mismo defecto:
Sqs2HeaderFilterStrategy configura solo un filtro de salida, por lo que Sqs2Consumer asigna todos los
atributos de mensajes SQS entrantes al Exchange — incluidos los encabezados de control de Camel. El autor de la ruta
nunca expuso una forma de cambiar el destino downstream, pero un atacante que pueda poner un mensaje en la cola
inyecta uno y dirige el productor downstream (CWE-20).
La variante Spring Boot demuestra RCE a través de un sink exec:. Ese sink no es alcanzable por defecto en Camel
4.20.0 (lo que Camel Quarkus 3.36.0 incluye): CAMEL-23315 añadió una opción allowControlHeaders a
camel-exec, con valor predeterminado false, incluida por primera vez en 4.20.0. Ese endurecimiento es
independiente de este CVE y no lo corrige: los atributos de mensaje inyectados siguen convirtiéndose en
encabezados del Exchange en 4.20.0.
Por lo tanto, la variante Quarkus secuestra el productor http mediante CamelHttpUri, que se tiene en cuenta por defecto, lo que produce SSRF.
Cada subdirectorio es un proyecto autocontenido (además de un contenedor LocalStack iniciado por su docker-compose.yml)
con su propio Dockerfile y README. 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-46456.html
Estas reproducciones se proporcionan solo para investigación de seguridad y pruebas autorizadas, para una vulnerabilidad divulgada públicamente y corregida. No las use contra sistemas sin permiso explícito.
| Propiedad | Valor |
|---|
| Componente | camel-aws2-sqs |
| Clase afectada | org.apache.camel.component.aws2.sqs.Sqs2HeaderFilterStrategy (sin filtro de entrada) / Sqs2Consumer |
| CWE | CWE-20: Validación incorrecta de entradas |
| Impacto | Un remitente de mensajes inyecta encabezados de control de Camel → dirige los productores downstream |
| Versiones afectadas | Desde 4.0.0 hasta antes de 4.14.8, desde 4.15.0 hasta antes de 4.18.3, desde 4.19.0 hasta antes de 4.21.0 |
| Versiones corregidas | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23506 |