安全通告
漏洞名称 |
Spring Framework远程代码执行漏洞 |
||
公开时间 |
2022-03-29 |
更新时间 |
2022-03-31 |
CVE编号 |
CVE-2022-22965 |
其他编号 |
QVD-2022-1691 |
威胁类型 |
远程代码执行 |
技术类型 |
任意文件写入 |
厂商 |
Spring |
产品 |
Spring Framework |
风险等级 |
|||
奇安信CERT风险评级 |
风险等级 |
||
极危 |
蓝色(一般事件) |
||
现时威胁状态 |
|||
POC状态 |
|
|
技术细节状态 |
已发现 |
已发现 |
已发现 |
已公开 |
漏洞描述 |
Spring Framework存在远程代码执行漏洞,在 JDK 9 及以上版本环境下,远程攻击者可利用该漏洞写入恶意代码导致远程代码执行漏洞。 |
||
影响版本 |
Spring Framework 5.3.X < 5.3.18 Spring Framework 5.2.X < 5.2.20 注:其他小版本未更新均受影响 |
||
不受影响版本 |
Spring Framework == 5.3.18 Spring Framework == 5.2.20
|
||
其他受影响组件 |
任何引用Spring Framework的衍生产品 |
Spring Framework是一个开源应用框架,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。
近日,奇安信CERT监测到Spring Framework存在远程代码执行漏洞(CVE-2022-22965),在 JDK 9 及以上版本环境下,远程攻击者可利用该漏洞写入恶意代码导致远程代码执行。此漏洞POC、技术细节及EXP已公开,经过奇安信CERT研判,此漏洞POC有效。鉴于此漏洞影响范围极大,建议客户尽快做好自查,及时更新至最新版本或采取缓解措施。
奇安信CERT已成功复现Spring Framework远程代码执行漏洞,复现截图如下:
漏洞名称 |
Spring Framework远程代码执行漏洞 |
|||
CVE编号 |
CVE-2022-22965 |
其他编号 |
QVD-2022-1691 |
|
CVSS 3.1评级 |
极危 |
CVSS 3.1分数 |
10 |
|
CVSS向量 |
访问途径(AV) |
攻击复杂度(AC) |
||
网络 |
低 |
|||
所需权限(PR) |
用户交互(UI) |
|||
不需要 |
不需要 |
|||
影响范围(S) |
机密性影响(C) |
|||
改变 |
高 |
|||
完整性影响(I) |
可用性影响(A) |
|||
高 |
高 |
|||
危害描述 |
Spring Framework存在远程代码执行漏洞,在 JDK 9 及以上版本环境下,远程攻击者可利用该漏洞写入恶意代码导致远程代码执行漏洞。 |
一、版本升级
目前,Spring官方已发布漏洞修复版本,请用户及时更新至最新版本。
https://github.com/spring-projects/spring-framework/tags
安全版本:
Spring Framework == 5.3.18
Spring Framework == 5.2.20
二、漏洞影响排查方法
用户可参照以下三项来判断是否可能受此漏洞影响:
-
JDK版本号排查
在业务系统的运行服务器上,Windows操作系统可在运行中执行cmd打开命令行,Linux操作系统可打开控制台窗口。
执行“java -version"命令查看运行的JDK版本,如果版本号小于等于8,则不受此漏洞影响。
-
Spring框架使用情况排査
1、如果业务系统项目以war包形式部署,按照如下的步骤进行判断。
1)解压war包:将war文件的后级修改成 .zip文件。
2)在解压缩目录下搜索是否存在spring-beans-*.jar格式的文件(例如spring-beans-5.3.16.jar),如存在则说明业务系统使用了 Spring框架进行开发。
3)如果spring-beans-*.jar文件不存在,则在解压缩目录下搜索CachedlntrospectionResults.class文件是否存在,如存在则说明业务系统使用了 Spring框架进行开发。
2、如果业务系统项目以jar包形式独立运行,按照如下的步骤进行判断。
1)解压jar包:将jar文件的后缀修改成zip,解压zip 文件。
2)在解压缩目录下搜索是否存在spring-beans-*.jar格式的jar文件(例如spring-beans-5.3.16.jar),如存在则说明业务系统使用了 Spring框架进行开发。
3)如果spring-beans-*.jar文件不存在,则在解压缩目录下搜索CachedIntrospectionResults.class文件是否存在,如果存在则说明业务系统使用了 Spring框架进行开发。
-
综合判断
在完成以上两个步骤排査后,同时满足以下三个条件可确定受此漏洞影响:
1)JDK版本 >= 9;
2)使用Spring框架或衍生框架,同时通过Tomcat进行部署;
3)项目中Web接口使用JavaBean对象作为参数。
三、漏洞缓解措施
无法升级版本的用户,建议采用以下两个临时方案进行防护。
1.WAF 防护
在网络防护设备上,根据实际部署业务的流量情况,对 "class.module.*" 字符串添加过滤规则,在部署过滤规则后,对业务运行情况进行测试,避免产生额外影响。
注意:其中流量特征 "class.module.*" 对大小写不敏感。
2.临时修复措施
需同时按以下两个步骤进行漏洞的临时修复:
(1)在应用中全局搜索@InitBinder注解,着看方法体内是否调用dataBinder.setDisallowedFields方法,如果发现此代码片段的引入,则在原来的黑名单中添加 { " class.module.*"}。
注意:如果此代码片段使用较多,需要每个地方都追加。
(2)在应用系统的项目包下新建以下全局类,并保证这个类被Spring加载到(推荐在Controller所在的包中添加),完成类添加后,需对项目进行重新编译打包和功能验证测试,并重新发布项目。
import org.springframework.core.annotation.Order;
import org.springfiamework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.InitBinder;
©ControllerAdvice
public class Global Controller Advice{
Public void setAllowedFields(WebDataBinder dataBinder){
String[] abd = new String[] {"class.*","Class.*","*.class.*","*.Class.*"};
dataBinder.setDisallowedFields(abd);
}
}
奇安信网神统一服务器安全管理平台更新入侵防御规则库
奇安信网神虚拟化安全轻代理版本将于3月30日发布入侵防御规则库2022.03.30版本,支持对Spring Framework远程代码执行漏洞的防护,届时请用户联系技术支持人员获取规则升级包对轻代理版本进行升级。
奇安信网神统一服务器安全管理平台将于3月30日发布入侵防御规则库10565版本,支持对Spring Framework远程代码执行漏洞的防护,届时请用户联系技术支持人员获取规则升级包对融合版本进行升级。
奇安信网站应用安全云防护系统已更新防护特征库
奇安信网神网站应用安全云防护系统已全面支持对Spring Framework 远程代码执行漏洞的防护。
奇安信天眼检测方案
奇安信天眼新一代安全感知系统已经能够有效检测针对该漏洞的攻击,请将规则版本升级到3.0.0330.13278或以上版本。规则ID及规则名称:
0x10020EAA,Spring Framework 远程代码执行漏洞。奇安信天眼流量探针规则升级方法:系统配置->设备升级->规则升级,选择“网络升级”或“本地升级”。
奇安信开源卫士已更新
奇安信开源卫士20220330. 1025版本已支持对Spring Framework 远程代码执行漏洞的检测。
奇安信网神云锁产品解决方案
奇安信网神云锁产品(私有云版/公有云版)可通过更新网站漏洞防御规则支持对Spring Framework远程代码执行漏洞的防御,请用户联系技术支持人员获取相关防护规则。
奇安信网神网络数据传感器系统产品检测方案
奇安信网神网络数据传感器(NDS5000/7000/9000系列)产品,已具备该漏洞的检测能力。规则ID为:7340,建议用户尽快升级检测规则库至2203300800以后版本并启用该检测规则。
奇安信网神智慧防火墙产品防护方案
奇安信新一代智慧防火墙(NSG3000/5000/7000/9000系列),已通过更新IPS特征库完成了对该漏洞的防护。建议用户尽快将IPS特征库升级至“ 2203301909” 或“2203301900”(根据防火墙版本选择对应的库版本)及以上版本并启用规则ID: 4410501/4410502进行检测。
[1]https://github.com/spring-projects/spring-framework
[2]https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
2022年3月31日,奇安信CERT发布安全风险通告
原文始发于微信公众号(奇安信 CERT):【安全风险通告】Spring Framework远程代码执行漏洞(CVE-2022-22965)安全风险通告
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论