Apache MINA CVE-2024-52046漏洞复现分析
Apache MINA CVE-2024-52046漏洞复现分析
原创 HSCERT 山石网科安全技术研究院 2025-03-02 10:00
网络安全警报!Apache MINA 漏洞来袭。
互联网时代,网络安全问题层出不穷,稍有不慎就可能陷入巨大风险之中。
近日,一则关于Apache MINA的重大漏洞预警引发广泛关注,它究竟有何危害?
又该如何防范?
本文将为您详细解析
。
一、漏洞背景
美国时间2024年12月24日,MINA项目团队发布新版本2.2.4、2.1.10和2.0.27,修复了评分为10的严重漏洞。
ApacheMINA是Apache软件基金会的重要项目之一,是一款高性能的网络通信框架,为开发人员提供了便捷的网络应用开发工具,在众多网络应用场景中有着广泛的应用,能帮助构建高效稳定的网络服务。在此次发现的CVE-2024-52046漏洞中,由于ApacheMINA的ObjectSerializationDecoder组件在处理序列化数据时缺乏安全检查,攻击者可以通过发送精心构造的恶意序列化数据,利用其中的不安全反序列化过程,在目标系统上执行任意代码,进而完全控制使用了存在漏洞版本ApacheMINA的系统,风险极高。山石网科应急响应中心提醒ApacheMINA用户尽快升级版本或采取其他安全措施来防范此漏洞带来的攻击。
二、漏洞评级
-
CVE-2024-52046
-
CVSS评分:10
-
严重程度:关键(CRITICAL)
三、影响版本
-
ApacheMINA2.0至2.0.26版本
-
ApacheMINA2.1至2.1.9版本
-
ApacheMINA2.2至2.2.3版本
四、漏洞详情
(一)漏洞分析
在探讨CVE-2024-52046漏洞之前,必须先了解Java反序列化机制的基本原理。Java的
原生反序列化机制允许将对象的字节流还原为对象。
这一机制在很多场景下很有用,但如果对输入的序列化数据不进行严格的验证和过滤,攻击者就可以构造恶意的序列化数据。
当这些恶意数据被反序列化时,可能会触发一系列危险操作,最终导致任意代码执行。
接下来,来看Apache MINA的ObjectSerializationDecoder等组件,这些组件使用Java原生反序列化协议处理传入的序列化数据。然而,该组件缺乏必要的安全检查和防御机制。在处理数据时,它没有对传入的序列化数据进行严格的验证,无法识别和阻止恶意的序列化数据,从而为攻击者提供了可乘之机。
最后,是应用代码非法调用的问题。
ObjectSerializationDecoder是ObjectSerializationCodecFactory在进行反序列化操作时使用的解码器。
当ProtocolCodecFilter接收到数据并需要进行反序列化时,它会调用ObjectSerializationDecoder相关方法,而ObjectSerializationDecoder会从输入的IoBuffer中读取数据并调用IoBuffer#getObject()方法来尝试获取反序列化后的对象。
即攻击者发送的恶意数据先触发ProtocolCodecFilter和ObjectSerializationCodecFactory相关的反序列化流程,进而导致ObjectSerializationDecoder去调用IoBuffer#getObject()方法,应用程序调用IoBuffer#getObject()方法对数据进行反序列化操作。
由于反序列化过程中会自动调用恶意类的readObject方法,从而执行其中的恶意代码。
通过上述分析,可以看到CVE-2024-52046漏洞的严重性及其对Apache MINA用户构成的威胁。了解这些细节对于采取适当的安全措施至关重要。
(二)复现工作
第一步,准备好相关环境,
安装受影响版本的Apache MINA(如2.0.x小于2.0.27、2.1.x小于2.1.10、2.2.x小于2.2.4),
更改pom.xml的依赖并载入该漏洞版本
。
第二步,来看一个简易示范DEMO。
首先,先设置一个消息处理类。
接着,
创建一个接收者MINA服务端,同时需对接收消息进行反序列化以及消息处理。
然后,创建一个恶意代码发送者MINA客户端,内含一个恶意类,这里以启动计算机为例,
exec(“calc”)。
现在,我们来发送信息看看。
(三)漏洞利用成果
我们同时启动服务端和客户端,客户端发送消息,可以看到
接收端收到消息并成功执行打开计算机。
五、安全建议
及时更新Apache MINA框架,密切关注官方发布的安全公告和更新日志,最新发布于2024年12月24日的MINA2.2.4、2.1.10和2.0.27版本。
六、相关链接
[1]https://www.cve.org/CVERecord?id=CVE-2024-52046
[2]https://mina.apache.org/mina-project/index.html
[3]https://forum.butian.net/article/662
山石网科是中国网络安全行业的技术创新领导厂商,由一批知名网络安全技术骨干于2007年创立,并以首批网络安全企业的身份,于2019年9月登陆科创板(股票简称:山石网科,股票代码:688030)。
现阶段,山石网科掌握30项自主研发核心技术,申请540多项国内外专利。山石网科于2019年起,积极布局信创领域,致力于推动国内信息技术创新,并于2021年正式启动安全芯片战略。2023年进行自研ASIC安全芯片的技术研发,旨在通过自主创新,为用户提供更高效、更安全的网络安全保障。目前,山石网科已形成了具备“全息、量化、智能、协同”四大技术特点的涉及边界安全、云安全、数据安全、业务安全、内网安全、智能安全运营、安全服务、安全运维等八大类产品服务,50余个行业和场景的完整解决方案。