安全社区

黑盾云安全社区,与你一起分享安全领域的知识与智慧

Spring 框架远程代码执行漏洞安全预警与建议

紧急通告2022-04-01 13:45:48 173次围观

近日,海峡信息安全威胁情报中心监测到Spring官方发布安全公告,披露了一个Spring框架漏洞(CVE-2022-22965),当Java版本>=9时可远程实现代码执行,此漏洞影响范围广泛,且目前已出现相关利用代码,危害较大。目前Spring官方已发布Spring框架安全版本,海峡信息安全应急中心建议受影响单位和用户立即升级至最新版本。

 一、漏洞描述

       Spring 是一个支持快速开发的J2EE 应用程序开源框架,是目前较为流行的 Java 开发框架。由于Spring框架存在处理流程缺陷,导致可远程代码执行,攻击者可在未授权访问下,通过构造恶意请求可向任意路径下写入文件。

      海峡信息已成功复现此漏洞:

1656402954577813.png

图片.png

二、影响范围

       Spring Framework < 5.3.18

       Spring Framework < 5.2.20

       或者其衍生框架

       且目标应用环境中所使用的jdk 版本>=9

三、安全防范建议

目前Spring官方已发布安全补丁,海峡信息提醒各相关单位和用户要强化风险意识,切实加强安全防范:

1、目前黑盾态势感知、防火墙、IPS等安全设备规则已支持该漏洞攻击及相关漏洞的检测,请相关用户及时升级设备规则库,相关特征库已发布到官网:

http://www.si.net.cn/Technical/upgrade.html

2、目前Spring官方已发布安全版本:5.2.20.RELEASE与5.3.18版本。建议用户尽快自查,对受影响的版本及时升级至最新版本:https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement

3、临时解决方案:

a、在WAF(web应用防火墙)等网络防护设备上,根据实际部署业务的流量情况,对GET、POST请求方式的流量实现对“*.class.*”、“*.Class.*”等字符串特征的过滤,并在调整过滤规则后,对业务运行情况进行跟踪测试,避免对业务产生影响。

b、在应用系统的项目包下新建以下全局类,并保证全局类被Spring 加载到(推荐在Controller 所在的包中添加)。完成类添加后,需对项目进行重新编译打包和功能验证测试。并重新发布项目。

1656403083112418.png

四、自查措施

1、首先查看所使用的java版本是否在影响范围内,可使用“java -version”命令查看,若jdk版本>=9,则可能受此漏洞影响,需进一步排查应用是否使用Spring框架。

下图jdk版本为 8,则不受此漏洞影响:

图片.png

2、检查应用所使用中间件是否为Tomcat,若不是,暂时不受此漏洞影响,如采用Tomcat中间件,进一步确认Tomcat是否开启了access日志记录功能,可查看Tomcat配置文件conf/server.xml,若如下access日志配置已注释,说明未开启access日志记录功能,则暂不受此漏洞影响:

图片.png

海峡信息已对目前公开的攻击代码分析确认:若Tomcat不开启访问日志功能,无法利用AccessLogValve写入后门文件。

3、在应用目录下搜索是否使用了spring-beans,如果存在 Spring框架的应用组件spring-beans-*.jar,则说明使用了Spring框架,则应用系统可能受此影响。

图片.png

4、若在应用目录中未搜索到spring-beans-*.jar 文件,则对当前应用所引用的相关jar包进行解压,并在每个jar解压目录及当前应用目录下同时搜索是否存在spring-beans-*.jar和CachedIntrospectionResults 类,若存在,则业务系统可能受此漏洞影响。

5、经确认该漏洞利用条件之一:需要SpringMVC开发过程中采用绑定参数的数据结构写法,若项目的开发代码中未使用参数绑定方式,则不受该漏洞影响

附参考链接:

https://www.cnvd.org.cn/webinfo/show/7541

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












下一篇: Spring Cloud Gateway远程代码执行漏洞的安全预警与建议