安全通告
漏洞名称 |
Spring Framework远程代码执行漏洞 |
||
公开时间 |
2022-03-29 |
更新时间 |
2022-03-31 |
CVE编号 |
CVE-2022-22965 |
其他编号 |
QVD-2022-1691 CNVD-2022-23942 |
威胁类型 |
远程代码执行 |
技术类型 |
任意文件写入 |
厂商 |
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 CNVD-2022-23942 |
|
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
安全版本:
SpringFramework == 5.3.18
SpringFramework == 5.2.20
升级方式:
1.通过Maven更新Spring版本:
<properties>
<spring-framework.version>5.3.18</spring-framework.version>
</properties>
2.通过Gradle更新Spring版本:
ext['spring-framework.version']= '5.3.18'
二、漏洞影响排查方法
用户可参照以下方式来判断是否可能受此漏洞影响。
1.排查JDK版本
在控制台窗口执行"java-version",如果版本号小于等于8,则不受此漏洞影响。
2.排查Spring框架使用情况
检查项目是否使用Spring基础框架,未使用则不受影响。可通过排查项目是否使用spring-beans核心依赖进行检查。
3.排查项目部署方式
经过前两步排查后,排查项目是否使用Tomcat进行部署,目前利用主要针对Tomcat中间件,但其他中间件不排除后续被利用的可能。
4.排查项目代码
项目中Web接口未使用JavaBean对象作为参数则不受此漏洞影响。
三、攻击排查
1、流量排查:攻击者的数据包中可能存在”class.*”,“*.class.*”,“class.module.*”字样或对该字样进行URL编码的变种字样,同时这些字样对大小写不敏感。推荐使用奇安信网神网站应用安全云防护系统全流量或WAF设备进行检索排查。
2、日志排查:查看tomcat的AccessLog中是否缺失最近日志记录,同时排查Tomcat相关web应用目录下是否存在可疑后门文件。
四、漏洞缓解措施
1、在应用中全局搜索@InitBinder注解,方法体中若调用dataBinder.setDisallowedFields,则在原来的黑名单中添加"class.*","Class.*", "*.class.*", "*.Class.*"。
注:如果此代码片段使用较多,需要每个地方都追加。
2、若未发现,可通过@ControllerAdvice进行全局拦截,通过WebDataBinder中setDisallowedFields方法添加黑名单。参考代码:
importorg.springframework.web.bind.WebDataBinder;
importorg.springframework.web.bind.annotation.ControllerAdvice;
importorg.springframework.web.bind.annotation.InitBinder;
public class BinderControllerAdvice {
public voidsetAllowedFields(WebDataBinder dataBinder) {
String[] denylist = newString[]{"class.*", "Class.*", "*.class.*","*.Class.*"};
dataBinder.setDisallowedFields(denylist);
}
}
奇安信网神统一服务器安全管理平台更新入侵防御规则库
奇安信网神虚拟化安全轻代理版本将于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
[3]https://spring.io/blog/2022/
2022年3月31日,奇安信CERT发布安全风险通告
2022年4月01日,奇安信CERT发布安全风险通告第二次更新
原文始发于微信公众号(奇安信 CERT):【安全风险通告】Spring Framework远程代码执行漏洞(CVE-2022-22965)安全风险通告第二次更新
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论