Spring [CVE-2022-22965]漏洞处理

问题描述

近期spring官方公布了漏洞 - [CVE-2022-22965]
参考地址: https://tanzu.vmware.com/security/cve-2022-22965

参考issues提到的问题答案开发人员回应: 可能是由于Springframework 3.x 早于 JDK9发布,甚至发布时还未完整的支持JDK8。我们都知道新版本的产品一般都是向下兼容的,所以spring运行在新的JDK上是可行的,但是支持方面可能会出现的问题只能靠自己维护。此外,Spring Framework 3.2.18(3.x EOL 之前的最新版本)处于 2016 年 12 月的安全补丁级别。继续使用该版本会错过我们同时应用于 4.x 和 5.x 的六年漏洞补丁和防御措施。当前 CachedIntrospectionResults 更改的修补版本将涵盖不受支持的 JDK 9+ 上的此特定攻击向量,但即使在框架的受支持区域中,仍可能使您暴露于其他漏洞。

引发条件:

在 JDK 9+ 上运行的 Spring MVC 或 Spring WebFlux 应用程序可能容易受到通过数据绑定的远程代码执行 (RCE) 的攻击。具体的利用需要应用程序作为 WAR 部署在 Tomcat 上运行。如果应用程序被部署为 Spring Boot 可执行 jar,即默认值,则它不易受到漏洞利用。但是,该漏洞的性质更为普遍,可能还有其他方法可以利用它。
这些是利用的先决条件:
JDK 9 或更高版本
Apache Tomcat 作为 Servlet 容器
打包为 WAR
spring-webmvc 或 spring-webflux 依赖项
Spring Framework
5.3.0 ==> 5.3.17
5.2.0 ==> 5.2.19

处理方法

安全版本:

  • springframework == 5.3.18
  • springframework == 5.2.20

升级方式:

  1. 通过Maven方式更新Spring版本
<properties>
	<spring-framework.version>5.3.18spring-framework.version>
properties>
  1. 通过Gradle升级Spring版本
ext['spring-framework.version']='5.3.18'
  1. 通过升级springboot提升Spring版本
<spring-boot.version>2.5.12spring-boot.version>

你可能感兴趣的:(Spring,spring)