Spring Framework 远程代码执行漏洞(CVE-2022-22965)风险通告,腾讯安全支持检测防御

admin 2022年4月1日22:10:15评论87 views字数 3076阅读10分15秒阅读模式

Spring Framework 远程代码执行漏洞(CVE-2022-22965)风险通告,腾讯安全支持检测防御

长按二维码关注

腾讯安全威胁情报中心


腾讯安全攻防团队A&D Team

腾讯安全 企业安全运营团队


Spring官方博客披露了一个远程命令执行漏洞,由于Spring框架存在处理流程缺陷,攻击者可远程实现对目标主机的后门文件写入和配置修改,继而通过后门文件访问获得目标主机权限。


1

漏洞描述


Spring框架存在一个远程命令执行漏洞,由于Spring框架存在处理流程缺陷,攻击者可远程实现对目标主机的后门文件写入和配置修改,继而通过后门文件访问获得目标主机权限。使用Spring框架或衍生框架构建网站等应用,且同时使用JDK版本在9及以上版本的,易受此漏洞攻击影响。


腾讯安全专家研判该漏洞为“高危”,目前该漏洞的技术细节、POC、EXP等相关代码均已公开,危害较大。


Spring框架(Framework)是一个开源的轻量级J2EE应用程序开发框架,提供了IOC、AOP及MVC等功能,解决了程序人员在开发中遇到的常见问题,提高了应用程序开发便捷度和软件系统构建效率。


2

漏洞编号


CVE-2022-22965

CNVD-2022-23942


3

漏洞等级


高危,严重级

漏洞状态:

漏洞细节
漏洞PoC
漏洞EXP
在野利用
已公开
已知
已知
已发现

4

受影响的版本


以下环境受影响:

JDK版本号在9及以上,且使用了Spring框架或衍生框架的系统。

Spring Framework 5.3.X < 5.3.18 

Spring Framework 5.2.X < 5.2.20


5

安全版本

Spring Framework = 5.3.18 

Spring Framework = 5.2.20


6

漏洞排查方法

(一)JDK版本号排查

在业务系统的运行服务器上,执行“java -version”命令查看运行的JDK版本,如果版本号小于等于8,则不受漏洞影响。


(二)Spring框架使用情况排查

1.如果业务系统项目以war包形式部署,按照如下步骤进行判断:

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

  • 在解压缩目录下搜索是否存在 spring-beans-*.jar 格式的jar文件(例如spring-beans-5.3.16.jar),如存在则说明业务系统使用了spring框架进行开发。

  • 如果spring-beans-*.jar 文件不存在,则在解压缩目录下搜索CachedIntrospectionResuLts.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框架进行开发。


(三)综合判断

在完成以上两个步骤排查后,同时满足以下两个条件可确定受此漏洞影响:

  • JDK版本号在9及以上的;

  • 使用了Spring框架或衍生框架。


7

漏洞复现与验证


腾讯安全专家第一时间对该漏洞进行了复现验证

Spring Framework 远程代码执行漏洞(CVE-2022-22965)风险通告,腾讯安全支持检测防御


8

漏洞修复或缓解建议

Spring官方已发布漏洞修复版本,腾讯安全专家建议所有受影响的客户及时升级到安全版本。


下载地址:

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


或采取如下漏洞缓解措施:

(一)WAF防护

在WAF等网络防护设备上,根据实际部署业务的流量情况,实现对“class.*”“Class.*”“*.class.*”“*.Class.*”等字符串的规则过滤,并在部署过滤规则后,对业务运行情况进行测试,避免产生额外影响。


(二)临时修复措施

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

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);     }}

9

腾讯安全解决方案


  • 腾讯T-Sec主机安全(云镜)已支持检测企业资产是否受Spring Framework 远程代码执行漏洞影响;

  • 腾讯T-Sec高级威胁检测系统(御界)已支持检测利用Spring Framework 远程代码执行漏洞的攻击活动;

  • 腾讯T-Sec Web应用防火墙(WAF)已支持检测防御利用Spring Framework 远程代码执行漏洞的攻击活动;

  • 腾讯T-Sec云防火墙已支持检测防御利用Spring Framework 远程代码执行漏洞的攻击活动;

  • 腾讯T-Sec容器安全产品已支持检测企业容器资产是否受Spring Framework 远程代码执行漏洞影响。


参考链接:

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

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

https://github.com/spring-projects/spring-framework/compare/v5.3.17...v5.3.18

https://mp.weixin.qq.com/s/BnF8CWuUxNliCoa260bEaA


Spring Framework 远程代码执行漏洞(CVE-2022-22965)风险通告,腾讯安全支持检测防御


关于腾讯安全威胁情报中心


腾讯安全威胁情报中心是一个涵盖全球多维数据的情报分析、威胁预警分析平台。依托顶尖安全专家团队支撑,帮助安全分析人员、安全运维人员快速、准确地对可疑威胁事件进行预警、处置和溯源分析。

Spring Framework 远程代码执行漏洞(CVE-2022-22965)风险通告,腾讯安全支持检测防御

长按识别二维码获取第一手威胁情报

Spring Framework 远程代码执行漏洞(CVE-2022-22965)风险通告,腾讯安全支持检测防御

原文始发于微信公众号(腾讯安全威胁情报中心):Spring Framework 远程代码执行漏洞(CVE-2022-22965)风险通告,腾讯安全支持检测防御

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月1日22:10:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Spring Framework 远程代码执行漏洞(CVE-2022-22965)风险通告,腾讯安全支持检测防御http://cn-sec.com/archives/862939.html

发表评论

匿名网友 填写信息