【漏洞通告】Spring Framework远程代码执行漏洞CVE-2022-22965

admin 2022年3月31日00:00:50评论116 views字数 2998阅读9分59秒阅读模式
  

漏洞名称

Spring Framework 远程代码执行漏洞

组件名称

Spring Framework

影响范围

Spring Framework 5.3.X < 5.3.18 

Spring Framework 5.2.X < 5.2.20

注:其他 Spring Framework 旧版本同样会受到影响。

Spring Framework 官方提供 

Spring Framework 5.3.18 和 Spring Framework 5.2.20两个安全版本(截止至3月31日)

漏洞类型

远程代码执行

利用条件

1、用户认证:不需要用户认证
2、前置条件:默认配置

3、触发方式:远程

综合评价

<综合评定利用难度>:容易,无需授权即可远程代码执行。

<综合评定威胁等级>:严重,能造成远程代码执行。


漏洞分析


组件介绍

Spring 是一个支持快速开发 Java EE 应用程序的框架。它提供了一系列底层容器和基础设施,并可以和大量常用的开源框架无缝集成,可以说是开发 Java EE 应用程序的必备。


2 漏洞描述

近日,深信服安全团队监测到一则 Spring Framework 组件存在远程代码执行漏洞的信息,漏洞威胁等级:严重。


该漏洞是由于 Spring Framework 未对传输的数据进行有效的验证,攻击者可利用该漏洞在未授权的情况下,构造恶意数据进行远程代码执行攻击,最终获取服务器最高权限。





影响范围

 


Spring Framework 作为主流的 Java 开发框架,全球有数百万使用 Spring Framework框架的资产,可能受漏洞影响的资产广泛分布于世界各地,国内主要分布在广东、北京、上海等省市。


目前受影响的 Spring Framework 的版本:

Spring Framework 5.3.X < 5.3.18 

Spring Framework 5.2.X < 5.2.20

注:其他 Spring Framework 旧版本同样会受到影响。

Spring Framework 官方提供 

Spring Framework 5.3.18 和 Spring Framework 5.2.20两个安全版本(截止至3月31日)





解决方案



 


1 如何检测组件版本

方案一

全盘搜索 spring-beans,如果存在 spring-beans-{version}.jar


【漏洞通告】Spring Framework远程代码执行漏洞CVE-2022-22965


则用户可能受漏洞影响。


方案二

如果项目是由 maven 编译的(一般在项目根目录下会有 pom.xml)


【漏洞通告】Spring Framework远程代码执行漏洞CVE-2022-22965


打开 pom.xml 文件,如图:


【漏洞通告】Spring Framework远程代码执行漏洞CVE-2022-22965


在此文件中搜索 spring-beans,如果可以搜索到关键字,并且<version>标签内部的字段小于 5.3.18 或者 5.2.20,则可能受到漏洞的影响。(图中的 spring-beans 的版本是5.2.3,在漏洞影响范围内)


【漏洞通告】Spring Framework远程代码执行漏洞CVE-2022-22965


如以上检索均未发现结果,不能够完全下结论一定没有使用Spring Framework 框架。


2 官方修复建议

当前 Spring Framework 官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。链接如下:

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

注:Spring Framework 5.3.18和Spring Framework 5.2.20是 Spring 官方提供的两个安全版本(截止至3月31日)


3 临时修复建议

该临时修复建议存在一定风险,建议用户可根据业务系统特性审慎选择采用临时修复方案:


需同时按以下两个步骤进行漏洞的临时修复:

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 GlobalControllerAdvice{             @InitBinder             public void setAllowedFields(webdataBinder dataBinder){             String[]abd=new string[]{"class.*","Class.*","*.class.*","*.Class.*"};             dataBinder.setDisallowedFields(abd);             }        }


4 深信服解决方案


1.主动检测

支持对 Spring Framework 远程代码执行漏洞的主动检测,可批量快速检出业务场景中该事件的受影响资产情况,相关产品如下:

【深信服安全云眼CloudEye】已发布解决方案。

【深信服云镜YJ】已发布解决方案。

【深信服主机安全保护平台CWPP】已发布解决方案。

【深信服安全托管服务MSS】已发布解决方案,提供漏洞自查脚本,下载链接如下:

https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=204347&page=1&extra=#/pid2565591

 

2. 安全监测

支持对 Spring Framework 远程代码执行漏洞的监测,可收集实时监控业务场景中的受影响资产情况,快速检查受影响范围,相关产品及服务如下:

【深信服安全感知管理平台SIP】已发布解决方案。

【深信服终端安全管理系统EDR】已发布解决方案。

【深信服安全托管服务MSS】已发布解决方案。

 

3. 安全防护

支持对 Spring Framework 远程代码执行漏洞的防御,可阻断攻击者针对该事件的入侵行为,相关产品及服务如下:

【深信服下一代防火墙AF】已发布解决方案。

【深信服Web应用防火墙WAF】已发布解决方案。

【深信服安全托管服务MSS】已发布解决方案。


参考链接


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


时间轴


2022/3/29  深信服监测到 Spring Framework 远程代码执行漏洞信息。

2022/3/31  深信服千里目安全实验室发布漏洞通告,同时发布解决方案。



点击阅读原文,及时关注并登录深信服智安全平台,可轻松查询漏洞相关解决方案。

【漏洞通告】Spring Framework远程代码执行漏洞CVE-2022-22965


深信服千里目安全实验室

【漏洞通告】Spring Framework远程代码执行漏洞CVE-2022-22965

深信服科技旗下安全实验室,致力于网络安全攻防技术的研究和积累,深度洞察未知网络安全威胁,解读前沿安全技术。

● 扫码关注我们




原文始发于微信公众号(深信服千里目安全实验室):【漏洞通告】Spring Framework远程代码执行漏洞CVE-2022-22965

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月31日00:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞通告】Spring Framework远程代码执行漏洞CVE-2022-22965http://cn-sec.com/archives/860750.html

发表评论

匿名网友 填写信息