【紧急】Spring爆出比Log4j2还大的漏洞?

发布者:星河Salaxy
发布于:2022-04-02 09:11

关于星河云企业安全管家

星河云企业安全管家以全量流量分析为基础,统一安全管理中心为核心,为用户提供7*24小时一站式安全运营,实现勒索病毒、挖矿病毒、DDOS攻击、0Day漏洞等安全事件的实时监测与闭环处置,为用户降低或避免因网络安全事件带来的巨大损失。

针对近期爆发的重量级漏洞“Spring Rce 0Day”,星河云安全专家第一时间提取该漏洞的有效检测规则,更新到星河云威胁特征库,提供配套防护手段,可实现针对该漏洞利用行为的检测和防护能力。


一. 漏洞介绍

2022年3月,国内安全研究员发现了spring框架存在严重安全缺陷(CVE-2022-22965),该漏洞为CVE-2010-1622的补丁绕过,此前修复是基于jdk8及以下版本。从jdk9开始,Class类中新增了一个新的方法getModule,可通过该方法绕过之前的补丁。


目前已知的利用方式为覆盖tomcat内存中的日志配置进行任意文件写入。具体原理是利用class属性进一步获取tomcat的AccessLogValve对象,利用其setter方法修改tomcat运行时的日志记录配置,攻击者可基于此生成jsp恶意文件。


Spring框架应用面极广,影响面极大,使用spring框架及衍生框架的系统均受此漏洞影响。目前spring官方已公布漏洞补丁,建议相关用户及时开展安全检测,及时进行修补更新,做好相关防护措施,避免被外部攻击者入侵。


二. 影响范围

触发该漏洞需要满足的三个基本条件:

// 1

|使用spring框架(spring核心包)

// 2

|JDK版本为9及以上

// 3

|Controller方法参数符合JavaBean规范


三. 漏洞危险等级

高危


四. 复现

星河云安全专家已验证该漏洞的可利用性,复现结果如下:

利用spring rce漏洞进行攻击可成功写入任意文件


编辑切换为居中

图片


可看到上传jsp文件中whoami命令的执行结果:


编辑切换为居中

图片


被攻击后,运行中的tomcat日志配置将会被修改,造成预先配置的日志存储文件无法记录日志,恢复需重启tomcat。


五. 防御建议

1目前,Spring官方已发布修复了漏洞的新版本,请用户及时更新至最新版本。

https://github.com/spring-projects/spring-framework/tags

安全版本:

Spring Framework == 5.3.18

Spring Framework == 5.2.20

2在应用系统的项目包下新建以下全局类,并保证这个类被Spring 加载到(推荐在Controller 所在的包中添加).完成类添加后,需对项目进行重新编译打包和功能验证测试。并重新发布项目。(可能会影响性能)

import org.springframework.core.annotation.Order;

import org.springframework.web.bind.WebDataBinder;

import org.springframework.web.bind.annotation.ControllerAdvice;

import org.springframework.web.bind.annotation.InitBinder;

@ControllerAdvice

@Order(10000)

public class a{undefined

@InitBinder

public void setAllowedFields(WebDataBinder dataBinder) {undefined

String[] abd = new String[]{"class.*", "Class.*", "*.class.*", "*.Class.*"};

dataBinder.setDisallowedFields(abd);

}

}


//云端检测申请

///

SECURITY

目前,星河云企业安全管家云端规则库已自动更新升级,向已部署管家服务的用户提供智能化检测服务,其他安全防护类产品也已同步更新检测策略。

由于用户自行检测存在一定风险,针对此次安全事件,中新赛克可面向用户提供远程检测服务,相关客户可拨打官方电话:025-52627967申请云端检测服务,专业安全团队将7*24h为您提供全方位安全服务!

后续星河工业安全公众号也将会对该漏洞信息持续更新报道。




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