Casamento Tribal: Analisando uma CVE Recente no Apache Tomcat Tribes

Casamento Tribal: Analisando uma CVE Recente no Apache Tomcat Tribes

Explore a vulnerabilidade crítica CVE-2026-34486 no Apache Tomcat Tribes, que permite a execução remota de código (RCE) através de desserialização. Este artigo detalha a anatomia da falha, a montagem de um ambiente de teste e o processo de exploração.

MundiX News·02 de junho de 2026·7 min de leitura·👁 5 views

Hoje, temos um caso clássico onde os desenvolvedores corrigiram uma vulnerabilidade, mas inadvertidamente facilitaram a vida dos hackers. Neste artigo, demonstrarei como a vulnerabilidade funcionava e como percorrer todo o caminho, desde seu estudo até a escrita de um exploit.

Atenção: Este artigo tem caráter informativo e destina-se a especialistas em segurança que realizam testes sob contrato. O autor e a redação não se responsabilizam por quaisquer danos causados pela aplicação das informações apresentadas. A distribuição de programas maliciosos, a interrupção de sistemas e a violação da confidencialidade da comunicação são puníveis por lei.

CVE-2026-34486 é uma vulnerabilidade crítica de execução remota de código (RCE) via desserialização no módulo Apache Tomcat Tribes. Ela permite que um invasor não autorizado assuma o controle de um servidor com uma única requisição. Na prática, isso é uma regressão da CVE-2026-29146: corrigiram uma vulnerabilidade, mas criaram uma nova. Além disso, a nova vulnerabilidade é mais fácil de explorar. Enquanto na CVE-2026-29146 era necessário interceptar pacotes criptografados e sondar metodicamente o servidor para recuperar o texto plano com base em sua resposta a erros de padding, na CVE-2026-34486, basta enviar uma requisição bruta.

Apache Tomcat Tribes é um módulo do Apache Tomcat para troca de mensagens entre servidores Tomcat, quando há vários deles. Múltiplos servidores são necessários para balanceamento de carga em projetos de alta demanda, quando um único servidor não consegue lidar com o tráfego. Por exemplo, projetos distribuídos tentam posicionar servidores mais próximos dos usuários para reduzir o tempo de resposta, mas existem outras aplicações. Em qualquer caso, se houver vários servidores, surgem problemas em garantir a integridade dos dados e o funcionamento contínuo da aplicação. Se um usuário se autenticou, todos os servidores devem saber sobre a sessão. Caso contrário, ao alternar, o usuário terá que se autenticar repetidamente. Para resolver esses problemas, o Apache Tribes é necessário.

O Tribes gerencia a infraestrutura interna de um cluster de servidores; suas portas não são acessíveis externamente. Existem três cenários de ataque principais:

Acesso à rede corporativa. Um invasor, por exemplo, pode comprometer o computador de um funcionário ou se infiltrar em um Wi-Fi desprotegido. Ataque a um servidor vizinho. Um cluster de servidores nem sempre está dentro do ambiente corporativo. Neste caso, o hacker tem a chance de encontrar o servidor menos protegido e usá-lo como ponto de apoio. Clássica SSRF (Server-Side Request Forgery). Se a aplicação web for vulnerável, o hacker pode forçar o servidor a fazer uma requisição para o Tribes e enviar um payload malicioso.

Anatomia da Vulnerabilidade Ao corrigir a CVE-2026-29146, os desenvolvedores cometeram um erro na classe EncryptInterceptor, que deveria fornecer proteção:

java
@Override
public void messageReceived(ChannelMessage msg) {
    try {
        byte[] data = msg.getMessage().getBytes();
        data = encryptionManager.decrypt(data);
        XByteBuffer xbb = msg.getMessage();
        // Substitui a mensagem pela descriptografada
        xbb.clear();
        xbb.append(data, 0, data.length);
    } catch (GeneralSecurityException gse) {
        log.error(sm.getString("encryptInterceptor.decrypt.failed"), gse);
    }
    // A desserialização ocorrerá de qualquer forma
    super.messageReceived(msg);
}

Em um código seguro, cada pacote de dados é descriptografado pela função encryptionManager.decrypt() usando uma chave. Se um hacker enviar dados brutos ou dados criptografados com a chave errada, o código falhará com um erro BadPaddingException ou IllegalBlockSizeException. A execução do código será interrompida.

Um exemplo de método messageReceived seguro pode ser visto no código-fonte do Tribes versão 9.0.115 - no arquivo EncryptInterceptor.java, na linha 142.

java
// Função messageReceived na versão 9.0.115

No commit 0112ed22, os desenvolvedores moveram a chamada super.messageReceived() para fora do try/catch. Este é um erro lógico. O hacker não precisa adivinhar a chave de criptografia - pelo contrário, é necessário causar um erro de descriptografia. Se o hacker enviar dados abertos, o servidor não falhará, mas registrará um erro no log e continuará o trabalho.

java
// Função messageReceived vulnerável

Os bytes maliciosos vão diretamente para o componente GroupChannel, que usa a classe XByteBuffer para processar a mensagem. A primeira etapa do processamento é a desserialização usando XByteBuffer.deserialize(). O método inicia o mecanismo padrão de leitura de objetos através do fluxo ObjectInputStream.

java
// Commit 0112ed22

Durante a desserialização de um objeto Java, métodos de serviço como readObject() ou hashCode() são executados automaticamente, conforme descrito na classe. É importante entender que o atacante não adiciona nada de novo, ele apenas envia um objeto com uma estrutura familiar ao servidor. O servidor conhece cada objeto aninhado e pode mapeá-lo para uma classe específica. As classes são especificadas em seu classpath pelos administradores ou desenvolvedores. Frequentemente, são classes do Apache Commons Collections ou bibliotecas JDK embutidas. Este é um conjunto de classes bem conhecido com características e pontos fracos bem estudados.

Info: Commons Collections (parte do projeto Apache Commons) é uma biblioteca para Java que complementa o Java Collections Framework (JCF) padrão. Ela contém novas estruturas de dados e ferramentas para trabalhar com objetos. Por exemplo, Trie é uma estrutura de dados em árvore para busca rápida de strings por prefixo.

Um payload é uma cadeia de classes conectadas (gadgets), cujo objetivo final é chamar uma função perigosa, como java.lang.Runtime.getRuntime().exec(). Se a cadeia de gadgets for descrita como um objeto, tal objeto pareceria assim:

json
{
  "HashSet": {
    "HashMap": {
      "TiedMapEntry": {
        "LazyMap": {
          "ChainedTransformer": [
            {
              "ConstantTransformer": "java.lang.Runtime.class"
            },
            {
              "InvokerTransformer": {
                "method": "getMethod",
                "args": ["getRuntime"]
              }
            },
            {
              "InvokerTransformer": {
                "method": "invoke",
                "args": []
              }
            },
            {
              "InvokerTransformer": {
                "method": "exec",
                "args": ["whoami"]
              }
            }
          ]
        }
      }
    }
  }
}

A cadeia completa de chamadas no exemplo do Apache Commons Collections:

  1. HashSet.readObject()
  2. HashMap.put(key, ...)
  3. TiedMapEntry.hashCode()
  4. LazyMap.get("poc")
  5. ChainedTransformer.transform()
  6. ConstantTransformer -> Runtime.class
  7. InvokerTransformer -> Runtime.getMethod("getRuntime")
  8. InvokerTransformer -> runtime.getRuntime()
  9. InvokerTransformer -> runtime.exec(cmd)

Os desenvolvedores nem sempre usam o Commons Collections, é apenas um conjunto popular. Existem alternativas: Spring, Groovy, Commons BeanUtils, JDK. Além disso, a versão do Commons Collections pode variar, e para cada uma delas é construída uma cadeia diferente. Por exemplo, o ysoserial possui oito variações para esta biblioteca. A tarefa do hacker é encontrar a cadeia de gadgets apropriada.

Montagem do Ambiente de Teste Criamos um Dockerfile que instalará e configurará uma versão vulnerável do Apache Tomcat 9.0.116:

dockerfile
# Versão vulnerável do Apache Tomcat
FROM tomcat:9.0.116-jdk8

RUN mv /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/

RUN set -ex \
  && curl -fSL https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar \
  -o /usr/local/tomcat/lib/commons-collections-3.2.1.jar

COPY server.xml /usr/local/tomcat/conf/server.xml

Observe: para o teste, usamos commons-collections-3.2.1.jar.

O restante do conteúdo está disponível apenas para membros. Materiais das últimas edições tornam-se disponíveis individualmente apenas dois meses após a publicação. Para continuar a leitura, é necessário tornar-se membro da comunidade "Xakep.ru". Junte-se à comunidade "Xakep.ru"! A associação à comunidade durante o período especificado lhe dará acesso a TODO o material "Xakep", permitirá baixar edições em PDF, desativará a publicidade no site e aumentará seu desconto acumulado pessoal! Saiba mais Já sou membro "Xakep.ru" ← Anterior Contas de celebridades hackeadas através de vulnerabilidade em chatbot da Meta

🛡️⚡

Pare de pesquisar. Comece a hackear.

O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.

Testar grátis por 7 dias →

Sem cartão para começar · Planos a partir de R$49/mês

📤 Compartilhar & Baixar

🧰 Ferramentas recomendadas

Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.

Aprendendo Kali Linux: Teste de segurança, pentest e hacking ético

Aprendendo Kali Linux: Teste de segurança, pentest e hacking ético

Com centenas de ferramentas pré-instaladas, a distribuição Kali Linux facilita o trabalho de os profissionais de segurança começarem a fazer testes de segurança rapidamente. No entanto, com mais de 600 ferramentas em seu arsenal, o Kali Linux também pode ser desafiador. A nova edição deste prático livro abrange as atualizações nas ferramentas e inclui uma melhor abordagem da análise forense e da engenharia reversa. Ric Messier, autor, não fica apenas no teste de segurança, mas também faz uma abordagem sobre a execução de análise forense, incluindo a análise em disco e na memória, assim como alguma análise básica de malware. • Explore as diversas ferramentas disponíveis no Kali Linux • Entenda o valor do teste de segurança e examine os tipos de teste disponíveis • Aprenda os aspectos básicos do pentest em todo o ciclo de vida do ataque • Instale o Kali Linux em vários sistemas, tanto físicos quanto virtuais • Descubra como usar diferentes ferramentas destinadas à segurança • Estruture um teste de segurança baseado nas ferramentas do Kali Linux • Estenda as ferramentas do Kali para criar técnicas de ataque avançadas • Use o Kali Linux para ajudar a criar relatórios quando o teste terminar “A abordagem concisa, clara e baseada na experiência adotada por Ric Messier para a introdução do Kali Linux e dos testes de cibersegurança é incomparável. Este livro é uma leitura excelente e acessível para iniciantes e um recurso valioso para qualquer pessoa.” —Alexander Arlt, Consultor sênior de segurança, Google

Ver na Amazon
Gshield 2 em 1 Hub Extensor Conector USB-C + USB-A e Adaptador de Rede Ethernet LAN RJ45 com 3 Entradas USB 3.0 até 5 Gbps em Liga de Alumínio para Computador e Notebook, Cinza

Gshield 2 em 1 Hub Extensor Conector USB-C + USB-A e Adaptador de Rede Ethernet LAN RJ45 com 3 Entradas USB 3.0 até 5 Gbps em Liga de Alumínio para Computador e Notebook, Cinza

Compatível com portas USB-C e USB-A, ideal para ampliar a conectividade de dispositivos como MacBook Pro e outros com portas USB-C. Inclui um adaptador USB-A extra, proporcionando uma conexão Ethernet estável e veloz de até 1 Gbps, perfeita para filmes, jogos online e videoconferências. Oferece três portas USB 3.0 com velocidades de transferência de até 5 Gbps, permitindo conectar mouse, teclado, discos rígidos e outros periféricos. Fabricado em alumínio durável, garantindo longa vida útil e resistência ao uso diário. Design compacto e leve, ideal para viagens de negócios e uso diário, facilitando o transporte e armazenamento. Funciona com Windows 10/8.1/8, Mac OS e Chrome OS, oferecendo versatilidade incomparável para diversas necessidades de conectividade. Assegura uma conectividade estável e rápida, perfeita para tarefas exigentes como transferência de dados, streaming e mais.

Ver na Amazon
Hacking APIs: Breaking Web Application Programming Interfaces

Hacking APIs: Breaking Web Application Programming Interfaces

Hacking APIs is a crash course on web API security testing that will prepare you to penetration-test APIs, reap high rewards on bug bounty programs, and make your own APIs more secure. You'll learn how REST and GraphQL APIs work in the wild and set up a streamlined API testing lab with Burp Suite and Postman. Then you'll master tools useful for reconnaissance, endpoint analysis, and fuzzing, such as Kiterunner and OWASP Amass. Next, you'll learn to perform common attacks, like those targeting an API's authentication mechanisms and the injection vulnerabilities commonly found in web applications. You'll also learn techniques for bypassing protections against these attacks. In the book's nine guided labs, which target intentionally vulnerable APIs, you'll practice: Enumerating APIs users and endpoints using fuzzing techniques Using Postman to discover an excessive data exposure vulnerability Performing a JSON Web Token attack against an API authentication process Combining multiple API attack techniques to perform a NoSQL injection Attacking a GraphQL API to uncover a broken object level authorization vulnerability

Ver oferta
Gray Hat Hacking: The Ethical Hacker's Handbook, Sixth Edition

Gray Hat Hacking: The Ethical Hacker's Handbook, Sixth Edition

Up-to-date strategies for thwarting the latest, most insidious network attacks This fully updated, industry-standard security resource shows, step by step, how to fortify computer networks by learning and applying effective ethical hacking techniques. Based on curricula developed by the authors at major security conferences and colleges, the book features actionable planning and analysis methods as well as practical steps for identifying and combating both targeted and opportunistic attacks. Gray Hat Hacking: The Ethical Hacker's Handbook, Sixth Edition clearly explains the enemy's devious weapons, skills, and tactics and offers field-tested remedies, case studies, and testing labs. You will get complete coverage of Internet of Things, mobile, and Cloud security along with penetration testing, malware analysis, and reverse engineering techniques. State-of-the-art malware, ransomware, and system exploits are thoroughly explained. Fully revised content includes 7 new chapters covering the latest threats Includes proof-of-concept code stored on the GitHub repository Authors train attendees at major security conferences, including RSA, Black Hat, Defcon, and B-Sides

Ver na Amazon
Bloqueador USB de privacidade de porta USB para PC, notebook, bloco de laptop,

Bloqueador USB de privacidade de porta USB para PC, notebook, bloco de laptop,

Proteção de privacidade aprimorada: protege o link de transmissão de dados para evitar roubo de informações, fornecendo proteção de segurança robusta que protege a privacidade do usuário durante transferências de arquivos e garante uma conexão segura para interações de dispositivos sem preocupações em vários ambientes Uso a longo prazo: a camada protetora resistente ao desgaste, combinada com um corpo de metal resistente, oferece gerenciamento de calor confiável e qualidade duradoura durante o uso diário Entrega eficiente de energia: a tecnologia de chip inteligente garante a identificação automática dos requisitos de energia, fornecendo carregamento eficiente alinhando-se com vários protocolos de carregamento rápido para maior conveniência Proteção contra sobrecarga: evitando riscos de sobrecarga, este bloqueador de dados USB protege a vida útil da bateria e garante um desempenho estável, mantendo um fluxo estável de energia para melhorar a longevidade do dispositivo de forma eficaz Prático de transportar: com atenção à portabilidade, este bloqueador de dados USB oferece um design compacto que é leve e fácil de transportar, melhorando a conveniência do usuário e operação eficiente

Ver na Amazon

📩 Newsletter MundiX

Receba novidades de cibersegurança + um checklist de pentest grátis. Sem spam.

Ao assinar você concorda em receber e-mails. Cancele quando quiser.