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
cve-2026-34486-tomcat_encrypt_bypass_reproduction — Reprodução de CVE: cve-2026-34486-tomcat_encrypt_bypass_reproduction | Kitploit
Ferramentas/GitHubGitHub/razureink/cve-2026-34486-tomcat_encrypt_bypass_reproduction
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAprendizado e Educação
GitHubrazureink/cve-2026-34486-tomcat_encrypt_bypass_reproduction

cve-2026-34486-tomcat_encrypt_bypass_reproduction

Reprodução de CVE: cve-2026-34486-tomcat_encrypt_bypass_reproduction

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

CVE-2026-34486: Bypass do EncryptInterceptor do Apache Tomcat

CampoValor
CVECVE-2026-34486
CVSS7.5 HIGH
TipoFalta de Criptografia de Dados Sensíveis
ComponenteEncryptInterceptor de Cluster do Apache Tomcat
Publicado2026

Visão Geral

O CVE-2026-34486 é uma regressão introduzida pela correção incompleta de CVE-2026-29146. Na replicação de cluster do Apache Tomcat, o EncryptInterceptor é responsável por criptografar e autenticar mensagens de cluster. Uma refatoração na correção do CVE-2026-29146 moveu inadvertidamente a chamada super.messageReceived(msg) para fora do bloco try-catch que trata falhas de descriptografia. Como resultado, quando uma mensagem falha na descriptografia (ou seja, é recebida em texto simples, mas o interceptor espera dados criptografados), a mensagem bruta não criptografada ainda é passada adiante na cadeia de handlers, em vez de ser descartada.

Detalhes Técnicos

Regressão no Fluxo de Código

O método EncryptInterceptor.messageReceived() é invocado quando uma mensagem de cluster chega. O fluxo esperado é:

  1. Receber os bytes brutos da mensagem
  2. Descriptografar e validar a mensagem (dentro de um try-catch)
  3. Se a descriptografia for bem-sucedida, chamar super.messageReceived(msg) para encaminhar a mensagem descriptografada
  4. Se a descriptografia falhar, descartar a mensagem (ou registrar um erro)

Nas versões vulneráveis, a lógica de descriptografia/validação permanece envolvida em um try-catch, mas a cadeia de chamadas foi reestruturada de modo que super.messageReceived(msg) executa fora do bloco try-catch que protege a descriptografia. A variável msg é declarada antes do try-catch e atribuída dentro dele. Quando a descriptografia lança uma exceção, msg mantém seu valor inicial (bruto/não criptografado), e o bloco catch apenas registra o erro — ele não retorna antecipadamente. A execução continua para super.messageReceived(msg) com os dados brutos não processados.

Isso significa que um atacante que consiga alcançar a porta de cluster do Tomcat pode injetar mensagens arbitrárias não criptografadas que o interceptor aceitará e processará.

Pseudocódigo Simplificado do Bug

root@kitploit:~
public void messageReceived(Message msg) {
    // msg arrives raw
    try {
        // decrypt and populate msg fields
        decrypt(msg);
    } catch (Exception e) {
        log.error("Decryption failed", e);
        // BUG: no return statement here
    }
    // msg is still the original unencrypted object when catch is hit
    super.messageReceived(msg); // outside try-catch → passes raw data
}

A correção deve garantir que:

  • super.messageReceived(msg) seja chamado apenas dentro do bloco try, após a descriptografia bem-sucedida, ou
  • O bloco catch retorne imediatamente para que a mensagem não criptografada nunca seja encaminhada.

Versões Afetadas

ProdutoVersões
Apache Tomcat 1111.0.20
Apache Tomcat 1010.1.53
Apache Tomcat 99.0.116

Reprodução

Pré-requisitos

  • Uma instância vulnerável do Tomcat com replicação de cluster habilitada usando o EncryptInterceptor
  • Acesso de rede à porta de cluster do Tomcat (comumente 4000 ou 5000, configurada via <Receiver>)
  • Python 3.6+

Passos

  1. Identifique um membro do cluster Tomcat com o EncryptInterceptor configurado no server.xml.
  2. Determine o endereço e a porta do receiver do cluster.
  3. Execute o script de exploit para enviar uma mensagem de cluster bruta e criada manualmente.
  4. Observe que a mensagem é aceita e registrada pelo receiver, contornando a validação de criptografia.

PoC

O script exploit.py neste diretório demonstra o bypass. Ele constrói uma mensagem mínima de cluster do Tomcat (com base no formato de serialização do ClusterMessage) e a envia diretamente para a porta do receiver, sem qualquer criptografia. Um interceptor vulnerável aceitará e encaminhará a mensagem apesar da criptografia ausente.

Mitigação

Atualize para uma versão corrigida do Apache Tomcat:

ProdutoVersão Corrigida
Apache Tomcat 1111.0.21+
Apache Tomcat 1010.1.54+
Apache Tomcat 99.0.117+

Se não for possível atualizar imediatamente, restrinja o acesso de rede à porta de cluster do Tomcat apenas a hosts confiáveis (por exemplo, por meio de regras de firewall ou vinculando o receiver a uma interface de loopback ou privada).

Referências

  • CVE-2026-34486
  • CVE-2026-29146 (vulnerabilidade original)
  • Avisos de Segurança do Apache Tomcat
  • Documentação do EncryptInterceptor
Baixar ferramenta