于我

【漏洞预警】Spring Framework CVE-2022-22965命令执行漏洞

2022/4/1
1 漏洞描述

近日,灰度安全监测到Spring相关框架存在远程代码执行漏洞,未经授权的远程攻击者可构造HTTP请求在目标系统上写入恶意程序从而执行任意代码,此漏洞为Spring framework远程代码执行漏洞(CVE-2010-1622)的绕过利用,但影响范围更为广泛,官方已于3.31号下午发布了5.2.20.RELEASE与5.3.18版本修复此漏洞,目前PoC已公开,请相关用户尽快采取措施进行排查与防护。

灰度安全已成功复现该漏洞:

2 漏洞排查

1.检测是否使用Spring框架,若未使用,则不存在该漏洞;

2.检查中间件使用的JDK版本,若版本号小于9,则不存在该漏洞;

3.检查当前使用的中间件是否为Tomcat,若未使用Tomcat,则暂不受该漏洞影响;

4.检查Tomcat是否启用了AccessLog,若未启用,则暂不受该漏洞影响。

3 解决方案

3.1 官方升级

目前官方已发布新版本5.2.20.RELEASE与5.3.18修复此漏洞,请受影响的用户尽快更新进行防护,下载链接:

https://github.com/spring-projects/spring-framework/releases。

3.2 WAF等网络防护设备

在WAF等网络防护设备上,根据实际部署业务的流量情况,实现对

“class.*”,“Class.*”,“*.class.*”,“*.Class.*”

等字符串的规则过滤,并在部署过滤规则后,对业务允许情况进行测试,避免产生额外影响。

3.3 添加源代码缓解

在应用系统的项目包下新建以下全局类,并保证这个类被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{

@InitBinder

@Order(10000)

public void setAllowedFields(WebDataBinder dataBinder) {

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

dataBinder.setDisallowedFields(abd);

}

}

4 产品解决方案

灰度先知 · 智能风险评估系统,已具备该漏洞的检测能力,建议用户通过部署先知 · 智能风险评估系统排查网络环境内的漏洞风险。

5 灰度安全技术支持

灰度安全将持续为客户提供技术支持服务,如有需要请拨打电话400-1360-910或010-53676979。

上一篇:【漏洞预警】向日葵客户端个人版for windows命令执行漏洞
下一篇:【漏洞分析】VMware Workspace ONE Access CVE-2022-22954模板注入命令执行漏洞

开始免费试用灰度产品

申请试用