🔍 Contexte
Publié le 7 avril 2026 par Horizon3.ai, cet article présente la divulgation complète de CVE-2026-34197, une vulnérabilité d’exécution de code à distance (RCE) dans Apache ActiveMQ Classic, présente depuis 13 ans et corrigée dans les versions 5.19.4 et 6.2.3.
🐛 Description de la vulnérabilité
La vulnérabilité repose sur un enchaînement de mécanismes légitimes d’ActiveMQ :
- Jolokia (pont HTTP-to-JMX) expose une API REST permettant d’invoquer des opérations sur les MBeans ActiveMQ
- L’opération
addNetworkConnector(String)sur le broker MBean accepte un URI de découverte - Le transport
vm://crée un broker à la volée si le nom référencé n’existe pas, en acceptant un paramètrebrokerConfigpointant vers une URL distante - Le schéma
xbean:délègue le chargement à Spring’sResourceXmlApplicationContext, instanciant tous les beans définis — permettant l’exécution de commandes viaMethodInvokingFactoryBeanetRuntime.getRuntime().exec()
⚠️ Conditions d’exploitation
- Authentifiée par défaut (credentials
admin:admintrès répandus) - Non authentifiée sur les versions 6.0.0 à 6.1.1 en raison de CVE-2024-32114, qui supprime les contraintes de sécurité sur le chemin
/api/*, rendant Jolokia totalement accessible sans credentials
🔗 Lien avec des vulnérabilités antérieures
- CVE-2022-41678 : RCE authentifiée via Jolokia et JDK MBeans (FlightRecorder) — le correctif avait introduit un
allowglobal sur tous les MBeans ActiveMQ, créant la surface exploitée ici - CVE-2023-46604 : RCE non authentifiée via chargement de Spring XML distant (même type de sink)
- CVE-2016-3088 : RCE authentifiée via la console web (sur la KEV CISA)
🎯 Secteurs impactés
ActiveMQ est largement déployé dans les secteurs : services financiers, santé, gouvernement, e-commerce.
🔎 Détection
Les logs du broker ActiveMQ contiennent des traces claires :
- Références à des URIs
vm://avecbrokerConfig=xbean:httpdans les logs de network connector - Requêtes POST vers
/api/jolokia/contenantaddNetworkConnector - Requêtes HTTP sortantes vers des hôtes inattendus depuis le processus ActiveMQ
- Processus enfants inattendus spawned par le processus Java ActiveMQ
🗓️ Timeline
- 22/03/26 : Rapport à Apache par Horizon3
- 26/03/26 : Accusé de réception et assignation du CVE
- 30/03/26 : Sortie d’ActiveMQ Classic 6.2.3
- 06/04/26 : Advisory de sécurité Apache
- 07/04/26 : Publication du CVE et de ce blog post
📄 Nature de l’article
Il s’agit d’un rapport de vulnérabilité technique avec divulgation complète (full disclosure), incluant preuve de concept, analyse du code source, indicateurs de détection et timeline de coordination responsable. La découverte a été assistée par l’IA Claude.
🧠 TTPs et IOCs détectés
TTP
- T1190 — Exploit Public-Facing Application (Initial Access)
- T1059.007 — Command and Scripting Interpreter: JavaScript (Execution)
- T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
- T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
- T1105 — Ingress Tool Transfer (Command and Control)
- T1078.001 — Valid Accounts: Default Accounts (Defense Evasion)
IOC
- CVEs :
CVE-2026-34197— NVD · CIRCL - CVEs :
CVE-2024-32114— NVD · CIRCL - CVEs :
CVE-2022-41678— NVD · CIRCL - CVEs :
CVE-2023-46604— NVD · CIRCL - CVEs :
CVE-2016-3088— NVD · CIRCL - Fichiers :
payload.xml
🟡 Indice de vérification factuelle : 40/100 (moyenne)
- ⬜ horizon3.ai — source non référencée (0pts)
- ✅ 10740 chars — texte complet (15pts)
- ✅ 6 IOCs (IPs/domaines/CVEs) (10pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 6 TTPs MITRE identifiées (15pts)
- ⬜ date RSS ou approximée (0pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ 0/5 CVE(s) confirmée(s) (0pts)
🔗 Source originale : https://horizon3.ai/attack-research/disclosures/cve-2026-34197-activemq-rce-jolokia/