日前,安全狗应急响应中心检测到SpringFramework存在远程代码执行漏洞。漏洞编号CVE-2022-22965。
漏洞描述
SpringFramework是一个开源应用框架,借以减少应用程序开发的复杂度。它是轻量级、松散耦合的。它具有分层体系结构,容许用户选择组件,同时还为J2EE应用程序开发提供了一个有汇聚力的框架。
使用SpringFramework在JDK9及以上版本环境下处理恶意数据时,可能会导致远程代码执行。此漏洞POC、技术细节及EXP已公开,经过安全狗研究人员研判,此漏洞POC有效。
安全狗复现
安全狗复现疗效如下:
安全通告信息
漏洞名称
Spring框架远程代码执行漏洞
漏洞影响版本
SpringFramework<5.3.18
SpringFramework<5.2.20
且其衍生产品
JDK≥9
JRE≥9
漏洞害处等级
高危
厂商是否已发布漏洞补丁
是
版本更新地址
安全狗总预警期数
214
安全狗发布预警日期
2022年3月31日
安全狗更新预警日期
2022年3月31日
发布者
安全狗海青实验室
处置举措
【安全版本】
SpringFramework==5.3.18
SpringFramework==5.2.20
目前,Spring官方已发布漏洞修补版本,请用户及时更新至最新版本。
【漏洞排查】
JDK版本号排查:
在业务系统的运行服务器上,Windows操作系统可在运行中执行cmd打开命令行,Linux操作系统可打开控制台窗口。
执行“java-version”命令查看运行的JDK版本linux定时关机命令,假如版本号大于9,则不受此漏洞影响。
Spring框架使用情况排査:
1、如果业务系统项目以war包方式布署linux上解压缩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文件的后缀更改成ziplinux上解压缩war文件,解压zip文件。
2)在解压缩目录下搜索是否存在spring-beans-*.jar格式的jar文件(比如spring-beans-5.3.16.jar),如存在则说明业务系统使用了Spring框架进行开发。
3)假如spring-beans-*.jar文件不存在,则在解压缩目录下搜索CachedIntrospectionResults.class文件是否存在,假如存在则说明业务系统使用了Spring框架进行开发。
【临时减轻方案】
用户可通过安全狗云御WAF等网路防护设备上红旗linux系统下载,按照实际布署业务的流量情况,实现对“class.*”,“Class.*”,“*.class.*”,“*.Class.*”等字符串的规则过滤,并在布署过滤规则后,对业务运行情况进行测试,防止形成额外影响。
注意:其中流量特点“class.*”对大小写不敏感。
参考联接