【误差通告】Spring Framework远程代码执行误差(CVE-2022-22965)

宣布时间 2022-03-31

0x00 误差概述

CVE   ID

CVE-2022-22965

时    间

2022-03-31

类    型

RCE

等    级

严重

远程使用

是

影响规模


攻击重漂后

低

用户交互

无

PoC/EXP

已果真

在野使用


 

0x01 误差详情

Spring Framework 是一个开源的轻量级J2EE应用程序开发框架 。

3月31日,VMware宣布清静通告,修复了Spring Framework中的远程代码执行误差(CVE-2022-22965) 。在 JDK 9 及以上版本情形下,可以使用此误差在未授权的情形下在目的系统上写入恶意程序从而远程执行恣意代码 。

该误差影响了在JDK 9+上运行的Spring框架或其衍生框架构建的网站或应用,现在官方已在Spring Framework 5.3.18+和5.2.20+中修复了此误差 。鉴于此误差的PoC/EXP已果真,建议相关用户尽快排查修复 。

 

影响规模

运行情形为JDK9及以上版本的:

Spring Framework 5.3.0 -5.3.17

Spring Framework 5.2.0 - 5.2.19

以及其它旧版的、不受支持的版本 。


0x02 清静建议

通用修复

现在官方已经修复了此误差,受影响用户可以升级更新到Spring Framework 5.3.18或5.2.20 。

下载链接:

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

 

误差排查

当同时知足以下条件时,批注可能受此误差影响:

l  JDK版本 >= 9;

l  使用Spring框架或衍生框架,目今使用了Tomcat中心件(现在果真的误差使用代码只针对Tomcat中心件,但不扫除保存其它危害) 。

 

排查要领

l  JDK版本号排查

执行“java -version"下令审查JDK版本,若是版本号小于即是8,则不受此误差影响 。

l  Spring框架使用情形排査

1.若是营业系统项目以war包形式安排,凭证如下的办法举行判断:

解压war包:将war文件的后级修改成 .zip文件;

在解压缩目录下搜索是否保存spring-beans-*.jar名堂的文件(例如spring-beans-5.3.16.jar),如保存则说明营业系统使用了 Spring框架举行开发;

若是spring-beans-*.jar文件不保存,则在解压缩目录下搜索CachedlntrospectionResults.class文件是否保存,如保存则说明营业系统使用了 Spring框架举行开发 。

2. 若是营业系统项目以jar包形式自力运行,凭证如下的办法举行判断:

解压jar包:将jar文件的后缀修改成zip,解压zip 文件;

在解压缩目录下搜索是否保存spring-beans-*.jar名堂的jar文件(例如spring-beans-5.3.16.jar),如保存则说明营业系统使用了 Spring框架举行开发;

若是spring-beans-*.jar文件不保存,则在解压缩目录下搜索CachedIntrospectionResults.class文件是否保存,若是保存则说明营业系统使用了 Spring框架举行开发 。

 

暂时步伐

需同时按以下两个办法举行误差的暂时修复:

1、在应用中全局搜索@InitBinder注解,看看要领体内是否挪用dataBinder.setDisallowedFields要领,若是发明此代码片断的引入,则在原来的黑名单中,添加{"class.*","Class.*","*.class.*","*.Class.*"} 。注:若是此代码片断使用较多,需要每个地方都追加 。

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 GlobalControllerAdvicc{

@InitBinder

public void setAllowedFields(webdataBinder dataBinder){

String[]abd=new string[]{"class.*","Class.*","*.class.*","*.Class.*"};            dataBinder.setDisallowedFields(abd);

}

}

 

0x03 参考链接

https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement

https://tanzu.vmware.com/security/cve-2022-22965

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

 

0x04 版本信息

版本

日期

修改内容

V1.0

2022-03-31

首次宣布

 

0x05 附录

尊龙凯官网入口简介

尊龙凯官网入口公司建设于1996年,并于2010年6月23日在深交所中小板正式挂牌上市,是海内极具实力的、拥有完全自主知识产权的网络清静产品、可信清静管理平台、清静服务与解决计划的综合提供商 。

公司总部位于北京市中关村软件园,在天下各省、市、自治区设有分支机构,拥有笼罩天下的渠道系统和手艺支持中心,并在北京、上海、成都、广州、长沙、杭州等多地设有研发中心 。

多年来,尊龙凯官网入口致力于提供具有国际竞争力的自主立异的清静产品和最佳实践服务,资助客户周全提升其IT基础设施的清静性和生产效能,为打造和提升国际化的民族信息清静工业领军品牌而不懈起劲 。


关于尊龙凯官网入口

尊龙凯官网入口清静应急响应中心主要针对主要清静误差的预警、跟踪和分享全球最新的威胁情报和清静报告 。

关注以下公众号,获取全球最新清静资讯:

image.png