聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
Apache MINA 因供端口如TCP/IP和UDP/IP等简化网络编程的抽象的事件驱动异步API而为人所知,它广泛用于多种应用中。然而,ObjectSerializationDecoder 组件中的漏洞可遭恶意利用。该解码器通过Java的原生反序列化来处理序列化数据,缺乏重要的安全检查。
该问题的根因在于易受攻击的MINA版本处理对象反序列化的方式。如果没有正确的防御措施,攻击者可发送特殊构造的恶意序列化数据,而当该数据由 ObjectSerializationDecoder 处理时,可导致远程代码执行 (RCE) 后果。这意味着攻击者可能完全控制受影响系统。
该漏洞影响大量 Apache MINA 版本,尤其是:
Apache MINA 2.0.0至2.0.26
Apache MINA 2.1.0至2.1.9
Apache MINA 2.2.0至2.2.3
值得注意的是,并非所有使用MINA的应用都自动易受攻击。当应用使用 IoBuffer#getObject() 方法时就会引发风险。当使用 ObjectSerializationCodecFactory 类的 ProtocolCodecFilter 实例被加入过滤器链时,该方法可能会被调用。如果应用程序依赖于这些特定的类和方法,则用户可能遭暴露且必须立即采取措施。
Apache MINA 团队已迅速修复了该严重漏洞。如下为已修复版本:
Apache MINA 2.0.27
Apache MINA 2.1.10
Apache MINA 2.2.4
不过,只升级版本是不够的。已更新版本引入了一个重要的安全增强措施:开发人员必须明确定义 ObjectSerializationDecoder 允许序列化的类。可通过如下三个新方法实现:
accept(ClassNameMatcher classNameMatcher)
accept(Pattern pattern)
accept(String… patterns)
在默认情况下,该解码器将拒绝所有类,主要是以“拒绝所有”原则为准,除非已获得明确允许。这就增加了一个重要的控制层,组织不可信和潜在恶意对象的反序列化。
Apache MINA 团队已澄清指出,FtpServer、SSHd和Vysper 子项目并不受该漏洞影响。
Apache Avro SDK 中存在严重漏洞,可导致在 Java 应用中实现RCE
https://securityonline.info/cve-2024-52046-cvss-10-critical-apache-mina-flaw-could-allow-remote-code-execution/
题图:Pexels License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~