Apache ActiveMQ (版本 < 5.18.3) (CNVD-2023-69477)RCE修复方案/缓解方案

一、漏洞描述

Apache ActiveMQ 是美国阿帕奇(Apache)基金会的一套开源的消息中间件,它支持 Java 消息服务、集群、Spring Framework 等。

二、漏洞成因

ActiveMQ 默认开放了 61616 端口用于接收 OpenWire 协议消息,由于针对异常消息的处理存在反射调用逻辑,攻击者可能通过构造恶意的序列化消息数据加载恶意类,执行任意代码。

三、影响范围

影响版本:

Apache ActiveMQ<5.18.3

Apache ActiveMQ<5.17.6

安全版本:

Apache ActiveMQ>=5.18.3

Apache ActiveMQ>=5.17.6

四、修复方案

目前官方已通过限制反序列化类只能为Throwable的子类的方式来修复此漏洞。建议受影响用户可以更新到:

Apache ActiveMQ >= 5.18.3

Apache ActiveMQ >= 5.17.6

Apache ActiveMQ >= 5.16.7

Apache ActiveMQ >= 5.15.16

https://github.com/apache/activemq/tags

5.18.3与5.17.6要求JDK11+

五、缓解方案

5.1增加访问验证

ActiveMQ 默认开放了 61616 端口,我们可以通过修改配置文件,使访问61616端口时需要进行登录验证。

在conf/activemq.xml文件中的的内加上:

xml 复制代码
<plugins> 		
			<simpleAuthenticationPlugin>    				
				<users>    					
					<authenticationUser username="system" password="123456" groups="users,admins"/>
					<authenticationUser username="user" password="123456"  groups="users"/>    
					<authenticationUser username="guest" password="123456" groups="guests"/>    
				</users>    			
			</simpleAuthenticationPlugin>    		
</plugins>

对应访问ActiveMQ的代码也需要进行修改

共有三种操作(常规,集成spring,集成springboot):

常规:

java 复制代码
ConnectionFactory cf = new ActiveMQConnectionFactory("system","123456","tcp://192.168.126.128:61616");

集成Spring:

java 复制代码
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    	<property name="brokerURL" value="tcp://192.168.126.128:61616"/>
    	<property name="userName" value="system"/>
    	<property name="password" value="123456"/>
    </bean>

集成SpringBoot:

java 复制代码
spring.activemq.broker-url=tcp://192.168.126.128:61616
spring.activemq.user=system
spring.activemq.password=123456

5.2配置防火墙

通过配置firewall或者iptables 只给指定ip开放61616端口

相关推荐
wasp52020 小时前
Apache Hudi 项目总体分析
数据挖掘·apache·hudi·数据湖仓
字节拾光录1 天前
Java工具库三足鼎立:Hutool、Apache Commons、Guava深度测评与场景化选型指南
java·apache·guava
清平乐的技术专栏2 天前
Apache SeaTunnel的发展历程
apache
SelectDB2 天前
宇信科技基于 SelectDB & Apache Doris 构建实时智能的银行经营分析平台
数据库·apache
SelectDB2 天前
上海证券 SelectDB 升级实践:湖仓流批一体落地与 Elasticsearch 全面替换
数据库·apache
熊文豪3 天前
工业物联网时序数据库选型指南:Apache IoTDB 的技术优势与应用实践
物联网·apache·时序数据库·iotdb
一个天蝎座 白勺 程序猿3 天前
Apache IoTDB(10):数据库操作——从查询到优化的全链路实践指南
数据库·apache·时序数据库·iotdb
云计算老刘3 天前
1.项目实战:LAMP-LNMP-分离部署
linux·mysql·php·apache·mariadb
SelectDB3 天前
字节跳动:Apache Doris + AI 一站式融合数据引擎的探索与实践
数据库·apache
可涵不会debug3 天前
时序数据库选型指南:大数据时代下Apache IoTDB的崛起之路
大数据·apache·时序数据库