【安全公告】Spring Core远程命令执行漏洞预警

发布者:Hello痕
发布于:2022-03-30 15:11

3月29日,Spring框架曝出RCE 0day漏洞。已经证实由于 SerializationUtils#deserialize 基于Java的序列化机制,可导致远程代码执行 (RCE),使用JDK9及以上版本皆有可能受到影响。鉴于Spring MVC的广泛应用,各企业需警惕远程攻击者,聚铭网络将密切关注Spring官方的补丁发布情况。

微信截图_20220330143639.png

1、漏洞描述

作为目前全球最受欢迎的Java轻量级开源框架,Spring允许开发人员专注于业务逻辑,简化Java企业级应用的开发周期。

但在Spring框架的JDK9版本(及以上版本)中,远程攻击者可在满足特定条件的基础上,通过框架的参数绑定功能获取AccessLogValve对象并诸如恶意字段值,从而触发pipeline机制并写入任意路径下的文件。

目前Spring官方并没有发布与此漏洞相关的补丁文件。相关漏洞POC也暂未被公开。考虑到自3月29日起可能存在小范围传播的,需警惕远程攻击的可能行为。

2、漏洞评级

危险等级:

3、影响范围

  • JDK9及以上版本

  • Spring框架以及衍生的框架,存在spring-beans-*.jar文件或者存在CachedIntrospectionResults.class

4、缓解措施

临时解决方案:

(1)在网络流量中拦截关键词如:"class.*"、"Class.*"、"*.class.*"、"*.Class.*"等字符串,有可能影响业务,建议先对可疑行为进行监控。

(2)代码级别,全局搜索 @InitBinder注解,判断方法体内是否有dataBinder.setDisallowedFields方法,如果有使用则在原来的黑名单中添加:{"class.*","Class.*","*.class.*","*.Class.*"}。结合业务状况,可能存在一定风险,建议进行测试。

5、声明

本安全公告仅用来描述可能存在的安全问题,不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。



声明:该文观点仅代表作者本人,转载请注明来自看雪