
PoC que reproduce la CVE-2026-49365 (Apache Camel camel-netty-http / camel-undertow): muteException es false por defecto, por lo que la traza de pila de Java completa de una excepción no capturada se devuelve al cliente HTTP (CWE-209). Corregido en 4.14.8/4.18.3/4.21.0.
Reproductores de prueba de concepto ejecutables para la misma vulnerabilidad de Apache Camel, uno por runtime:
| Runtime | Directorio | Stack | Componentes mostrados |
|---|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 | netty-http y undertow |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (incluye Camel 4.20.0) | netty-http (sin extensión camel-quarkus-undertow) |
Ambas son versiones afectadas (corregidas en 4.14.8 / 4.18.3 / 4.21.0), y ambas demuestran el mismo defecto: la
opción muteException viene con un valor predeterminado de false en camel-netty-http (y camel-undertow), por lo que ante cualquier
error de procesamiento se devuelve al cliente HTTP el stack trace completo de Java — filtrando nombres de host
internos del backend, URLs de bases de datos, pistas de credenciales/bóvedas, versiones de librerías y ubicaciones de código fuente (CWE-209). jetty/servlet
y platform-http ya lo establecen en true por defecto.
Cada subdirectorio es un proyecto autónomo con su propio Dockerfile, docker-compose.yml y README. En
resumen, para cualquiera de los dos:
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
Aviso: https://camel.apache.org/security/CVE-2026-49365.html
Estos reproductores se proporcionan solo 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 |
|---|
| Componentes | camel-netty-http, camel-undertow |
| CWE | CWE-209 (Generación de mensaje de error que contiene información sensible) |
| Impacto | Stack trace completo de Java devuelto a un cliente HTTP no autenticado ante cualquier error de procesamiento |
| 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-23651 (PR apache/camel#23913) |
| Crédito | Yu Bao (PayPal) |