Spring框架惊爆大误差 酷游官网提供误差扫描和消控计划

宣布时间 2022-04-02

近期 ,酷游官网漏扫团队在误差监控中发明Spring框架中保存一个严重的远程代码执行误差 ,该误差影响Jdk 9.0以上版本的Spring框架及其衍生框架 ,包括但不限于Spring Cloud、Spring Boot等。


此误差使用方法简朴 ,危害严重。Spring官方已针对此误差宣布新版本 ,建议用户尽快升级版本或接纳其他防护步伐 ,阻止受到该误差的攻击。


误差概述


1、误差基本形貌


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


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


2、误差影响情形


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

受影响的产品及版本:

Spring Framework 5.3.0 -5.3.17

Spring Framework 5.2.0 - 5.2.19

误差可使用性:高


误差排查


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

① JDK版本 >= 9;

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


排查要领:

① JDK版本号排查

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


② Spring框架使用情形排査


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


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

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


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


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

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


误差验证


凭证上述误差剖析效果 ,我们使用了果真提权剧本对该误差举行了验证。


至此发明文件写入并执行了响应的下令 ,会见webshell发明乐成执行whoami下令 ,效果为root。


误差检测


酷游官网漏扫系统已于2022年3月31日紧迫宣布针对该误差的升级包 ,支持对该误差举行原理扫描 ,用户升级标准误差库后即可对该误差举行扫描:


6070版本升级包为607000425

升级包下载地址:

https://venustech.download.venuscloud.cn/

授权扫描方法.png

授权扫描方法


原理扫描方法.png

原理扫描方法


请使用酷游官网漏扫系统产品的用户尽快升级到最新版本 ,实时对该误差举行检测 ,以便尽快接纳提防步伐。


酷游官网Web应用检测系统已于2022年3月31日紧迫宣布针对该误差的升级包 ,支持对该误差举行扫描 ,用户升级酷游官网Web漏扫产品误差库后即可对该误差举行扫描:



升级包版本:7d_V3.0.5

升级包下载地址:

https://venustech.download.venuscloud.cn/


升级后已支持该误差

请酷游官网Web应用检测系统产品的用户尽快升级到最新版本 ,实时对该误差举行检测 ,以便尽快接纳提防步伐。



基线核查


酷游官网清静设置核查管理系统已于2022年3月31日紧迫宣布针对该误差的核查资源包 ,支持对该误差举行核查 ,用户升级清静设置核查管理系统资源包后后即可对该误差举行核查:



暂时步伐


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


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


2、在用系统的项目包下新建以下全局类 ,并包管这个类被Spring 加载到(推荐在Controller所在的包中添加)。完成类添加后 ,需对项目举行重新编译打包和功效验证测试 ,并重新宣布项目。


修复建议


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


下载链接:

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