CVE-2022-22965 Spring 高危漏洞通告

阅读量    167879 |

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

 

简述

近日,Spring官方通报了Spring相关框架中存在远程代码执行漏洞,官方发布了Spring Framework 5.3.18和5.2.20的补丁修复了该漏洞,且依赖 Spring Framework 5.3.18 的 Spring Boot 2.6.6 和 2.5.12 已经发布。

该漏洞会影响在 JDK 9+ 上运行的 Spring MVC 和 Spring WebFlux 应用程序。具体的利用需要应用程序作为 WAR 部署在 Tomcat 上运行。如果应用程序被部署为 Spring Boot 可执行 jar,即默认值,则它不易受到漏洞利用。

漏洞评级:严重

CVE编号:CVE-2022-22965

受影响版本:Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本

官方公布出的利用条件:

JDK版本:Jdk9+

Servlet容器:Apache Tomcat

部署方式:WAR部署

依赖项:spring-webmvc 或 spring-webflux 依赖项

漏洞版本:Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本

此漏洞可以通过使用一个简单的request就可以写入shell。攻击者可以利用该漏洞在服务器写入日志,写入shell后就可以实现远程代码执行。该漏洞POC很可能已经被扩散,有安全机构已经监测到该攻击行为。建议使用了Spring框架组件的客户尽快排查是否受漏洞影响,并采取措施防止漏洞攻击。

目前流传最广的POC中,payload包含以下特征:

 

漏洞排查

1. 目前项目使用的jdk版本排查,jdk版本好<=8,暂不受漏洞影响。

2. 检查是否使用了 sprig-beans-*.jar文件。

修复建议

官方修复建议:

目前官方已经发布补丁,可升级至安全版本(https://github.com/spring-projects/spring-framework/commit/002546b3e4b8d791ea6acccb81eb3168f51abb15)

临时修复建议:

使用waf防护的用户,根据业务实际部署情况,可以添加对”class.module.*”,”.getRuntime().”字符串添加规则过滤。在部署完毕后,要对规则测试,避免产生不必要影响。

在应用中全局搜索@InitBinder 注解,看方法体内是否调用dataBinder.setDisallowedFields方法,如果发现代码中有调用该方法,则在原来的黑名单中添加”class.module.*”。注意:如果此代码片段使用较多,需要每个地方都追加。

目前,该漏洞的poc及多种变种利用方式已经在网上传播。漏洞细节请参考官方漏洞公告。

Spring 官方漏洞公告(https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement)

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多