SCW Icons
hero bg no divider
Blog

Spring 库中的新漏洞:如何知道自己是否处于危险之中以及该怎么做

Charlie Eriksen
Published Apr 01, 2022
Last updated on Mar 09, 2026

最近,作为 Java 社区中最受欢迎的库之一 Spring 库披露了两个与远程代码执行 (RCE) 相关的漏洞。为了帮助您更轻松地了解自己是否面临漏洞风险以及应采取哪些措施,我们对 “Spring4Shell” 和 “Spring Cloud Function” 的已知详细信息进行了细分。

漏洞 1-“Spring4Shell” (CVE-2022-22965)

2022年3月29日,该社区发现了一系列推文,其中包含针对Spring Core(SC)的漏洞概念验证的屏幕截图,该漏洞允许远程执行所有版本的Spring Core代码,包括最近发布的版本5.3.17。

哪些应用程序面临风险?

目前,只有托管在Tomcat上的应用程序才被证实存在这种新漏洞的风险。尽管针对嵌入式 Tomcat Servlet 容器或任何其他非 Tomcat 托管应用程序的攻击尚未被证明是成功的,但这并不排除将来这些框架成功使用威胁的可能性。

春季发布了官方 声明 关于该漏洞,根据目前对该漏洞的理解,该漏洞阐明了需要满足以下条件才能受到攻击:

  • JDK 9 或更高版本
  • Apache Tomcat 作为 Servlet 容器
  • 打包成传统 WAR(与 Spring Boot 可执行文件 jar 相反)
  • Spring-webmvc 或 spring-webflux 依赖关系
  • Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本

“Spring4Shell” 漏洞是如何运作的?

该漏洞依赖于在方法签名中使用普通旧 Java 对象 (POJO) 的请求中使用 “数据绑定”(org.springframework.web.bind.Web.bind.WebDataBinder):

其中 Foo 类是一个 POJO 类,可以定义如下。请注意,实际的类并不重要,只要它由类加载器加载即可。

当请求由这样的方法处理时,类加载器用于解析该类。类加载器负责在运行时加载类,而不必先将所有可能的类型预加载到内存中。它会计算出使用新类时要加载哪个.jar 文件。

您可以直接从Spring上找到有关此漏洞的最新和深入的信息 博客文章,包括潜在的修复或变通方法。

漏洞 2-Spring Cloud 函数 (CVE-2022-22963)

2022年3月27日,Cyber Kendra披露了有关Spring Cloud Functions中一个为期0天的远程代码执行(RCE)漏洞的详细信息,该漏洞尚无补丁。漏洞被分配了 ID CVE-2022-22963:Spring 表达式资源访问漏洞

哪些应用程序面临风险?

该漏洞影响了以下条件下的应用程序:

  • JDK 9 或更高版本
  • Spring Cloud Functions 版本 3.1.6(或更低版本)、3.2.2(或更低版本)或任何不支持的版本

剥削是如何运作的?

Spring Cloud Function 使开发人员能够通过属性 spring.cloud.function.routing-expression 配置如何处理路由,通常通过配置或代码来完成。这是一种接受 “Spring 表达语言” (SpEL) 的强大功能。通过这个为期 0 天的漏洞,我们了解到该属性可以通过请求的 HTTP 标头进行设置,这意味着攻击者可以将 SpEL 代码直接嵌入到其 RoutingFunction 端点的 HTTP 请求中,从而执行任意代码。

用户应采取哪些措施来降低风险?

春天有 已发布 版本 3.1.7 和 3.2.3 通过不允许通过 HTTP 标头设置此属性来解决此问题,从而缓解了漏洞。升级到任一版本后,无需执行其他步骤。

有兴趣进一步了解我们如何帮助开发人员编写更安全的代码吗?预订演示 或者浏览我们的免费安全编码指南 安全代码教练。

资料来源

查看资源
查看资源

最近,作为 Java 社区中最受欢迎的库之一 Spring 库披露了两个与远程代码执行 (RCE) 相关的漏洞。我们对 “Spring4Shell” 和 “Spring Cloud Function” 的已知细节进行了细分,以帮助您了解自己是否处于危险之中以及如果存在风险该怎么做。

对更多感兴趣?

learn more

Secure Code Warrior可以帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全放在首位的文化。无论您是 AppSec 经理、开发人员、首席信息安全官还是任何与安全相关的人,我们都可以帮助您的组织降低与不安全代码相关的风险。

预订演示
分享到:
linkedin brandsSocialx logo
作者
Charlie Eriksen
Published Apr 01, 2022

分享到:
linkedin brandsSocialx logo

最近,作为 Java 社区中最受欢迎的库之一 Spring 库披露了两个与远程代码执行 (RCE) 相关的漏洞。为了帮助您更轻松地了解自己是否面临漏洞风险以及应采取哪些措施,我们对 “Spring4Shell” 和 “Spring Cloud Function” 的已知详细信息进行了细分。

漏洞 1-“Spring4Shell” (CVE-2022-22965)

2022年3月29日,该社区发现了一系列推文,其中包含针对Spring Core(SC)的漏洞概念验证的屏幕截图,该漏洞允许远程执行所有版本的Spring Core代码,包括最近发布的版本5.3.17。

哪些应用程序面临风险?

目前,只有托管在Tomcat上的应用程序才被证实存在这种新漏洞的风险。尽管针对嵌入式 Tomcat Servlet 容器或任何其他非 Tomcat 托管应用程序的攻击尚未被证明是成功的,但这并不排除将来这些框架成功使用威胁的可能性。

春季发布了官方 声明 关于该漏洞,根据目前对该漏洞的理解,该漏洞阐明了需要满足以下条件才能受到攻击:

  • JDK 9 或更高版本
  • Apache Tomcat 作为 Servlet 容器
  • 打包成传统 WAR(与 Spring Boot 可执行文件 jar 相反)
  • Spring-webmvc 或 spring-webflux 依赖关系
  • Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本

“Spring4Shell” 漏洞是如何运作的?

该漏洞依赖于在方法签名中使用普通旧 Java 对象 (POJO) 的请求中使用 “数据绑定”(org.springframework.web.bind.Web.bind.WebDataBinder):

其中 Foo 类是一个 POJO 类,可以定义如下。请注意,实际的类并不重要,只要它由类加载器加载即可。

当请求由这样的方法处理时,类加载器用于解析该类。类加载器负责在运行时加载类,而不必先将所有可能的类型预加载到内存中。它会计算出使用新类时要加载哪个.jar 文件。

您可以直接从Spring上找到有关此漏洞的最新和深入的信息 博客文章,包括潜在的修复或变通方法。

漏洞 2-Spring Cloud 函数 (CVE-2022-22963)

2022年3月27日,Cyber Kendra披露了有关Spring Cloud Functions中一个为期0天的远程代码执行(RCE)漏洞的详细信息,该漏洞尚无补丁。漏洞被分配了 ID CVE-2022-22963:Spring 表达式资源访问漏洞

哪些应用程序面临风险?

该漏洞影响了以下条件下的应用程序:

  • JDK 9 或更高版本
  • Spring Cloud Functions 版本 3.1.6(或更低版本)、3.2.2(或更低版本)或任何不支持的版本

剥削是如何运作的?

Spring Cloud Function 使开发人员能够通过属性 spring.cloud.function.routing-expression 配置如何处理路由,通常通过配置或代码来完成。这是一种接受 “Spring 表达语言” (SpEL) 的强大功能。通过这个为期 0 天的漏洞,我们了解到该属性可以通过请求的 HTTP 标头进行设置,这意味着攻击者可以将 SpEL 代码直接嵌入到其 RoutingFunction 端点的 HTTP 请求中,从而执行任意代码。

用户应采取哪些措施来降低风险?

春天有 已发布 版本 3.1.7 和 3.2.3 通过不允许通过 HTTP 标头设置此属性来解决此问题,从而缓解了漏洞。升级到任一版本后,无需执行其他步骤。

有兴趣进一步了解我们如何帮助开发人员编写更安全的代码吗?预订演示 或者浏览我们的免费安全编码指南 安全代码教练。

资料来源

查看资源
查看资源

填写下面的表格下载报告

我们希望获得您的许可,以便向您发送有关我们的产品和/或相关安全编码主题的信息。我们将始终非常谨慎地对待您的个人信息,绝不会出于营销目的将其出售给其他公司。

提交
scw success icon
scw error icon
要提交表单,请启用 “分析” Cookie。完成后,可以随意再次禁用它们。

最近,作为 Java 社区中最受欢迎的库之一 Spring 库披露了两个与远程代码执行 (RCE) 相关的漏洞。为了帮助您更轻松地了解自己是否面临漏洞风险以及应采取哪些措施,我们对 “Spring4Shell” 和 “Spring Cloud Function” 的已知详细信息进行了细分。

漏洞 1-“Spring4Shell” (CVE-2022-22965)

2022年3月29日,该社区发现了一系列推文,其中包含针对Spring Core(SC)的漏洞概念验证的屏幕截图,该漏洞允许远程执行所有版本的Spring Core代码,包括最近发布的版本5.3.17。

哪些应用程序面临风险?

目前,只有托管在Tomcat上的应用程序才被证实存在这种新漏洞的风险。尽管针对嵌入式 Tomcat Servlet 容器或任何其他非 Tomcat 托管应用程序的攻击尚未被证明是成功的,但这并不排除将来这些框架成功使用威胁的可能性。

春季发布了官方 声明 关于该漏洞,根据目前对该漏洞的理解,该漏洞阐明了需要满足以下条件才能受到攻击:

  • JDK 9 或更高版本
  • Apache Tomcat 作为 Servlet 容器
  • 打包成传统 WAR(与 Spring Boot 可执行文件 jar 相反)
  • Spring-webmvc 或 spring-webflux 依赖关系
  • Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本

“Spring4Shell” 漏洞是如何运作的?

该漏洞依赖于在方法签名中使用普通旧 Java 对象 (POJO) 的请求中使用 “数据绑定”(org.springframework.web.bind.Web.bind.WebDataBinder):

其中 Foo 类是一个 POJO 类,可以定义如下。请注意,实际的类并不重要,只要它由类加载器加载即可。

当请求由这样的方法处理时,类加载器用于解析该类。类加载器负责在运行时加载类,而不必先将所有可能的类型预加载到内存中。它会计算出使用新类时要加载哪个.jar 文件。

您可以直接从Spring上找到有关此漏洞的最新和深入的信息 博客文章,包括潜在的修复或变通方法。

漏洞 2-Spring Cloud 函数 (CVE-2022-22963)

2022年3月27日,Cyber Kendra披露了有关Spring Cloud Functions中一个为期0天的远程代码执行(RCE)漏洞的详细信息,该漏洞尚无补丁。漏洞被分配了 ID CVE-2022-22963:Spring 表达式资源访问漏洞

哪些应用程序面临风险?

该漏洞影响了以下条件下的应用程序:

  • JDK 9 或更高版本
  • Spring Cloud Functions 版本 3.1.6(或更低版本)、3.2.2(或更低版本)或任何不支持的版本

剥削是如何运作的?

Spring Cloud Function 使开发人员能够通过属性 spring.cloud.function.routing-expression 配置如何处理路由,通常通过配置或代码来完成。这是一种接受 “Spring 表达语言” (SpEL) 的强大功能。通过这个为期 0 天的漏洞,我们了解到该属性可以通过请求的 HTTP 标头进行设置,这意味着攻击者可以将 SpEL 代码直接嵌入到其 RoutingFunction 端点的 HTTP 请求中,从而执行任意代码。

用户应采取哪些措施来降低风险?

春天有 已发布 版本 3.1.7 和 3.2.3 通过不允许通过 HTTP 标头设置此属性来解决此问题,从而缓解了漏洞。升级到任一版本后,无需执行其他步骤。

有兴趣进一步了解我们如何帮助开发人员编写更安全的代码吗?预订演示 或者浏览我们的免费安全编码指南 安全代码教练。

资料来源

观看网络研讨会
开始吧
learn more

点击下面的链接并下载此资源的PDF。

Secure Code Warrior可以帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全放在首位的文化。无论您是 AppSec 经理、开发人员、首席信息安全官还是任何与安全相关的人,我们都可以帮助您的组织降低与不安全代码相关的风险。

查看报告预订演示
查看资源
分享到:
linkedin brandsSocialx logo
对更多感兴趣?

分享到:
linkedin brandsSocialx logo
作者
Charlie Eriksen
Published Apr 01, 2022

分享到:
linkedin brandsSocialx logo

最近,作为 Java 社区中最受欢迎的库之一 Spring 库披露了两个与远程代码执行 (RCE) 相关的漏洞。为了帮助您更轻松地了解自己是否面临漏洞风险以及应采取哪些措施,我们对 “Spring4Shell” 和 “Spring Cloud Function” 的已知详细信息进行了细分。

漏洞 1-“Spring4Shell” (CVE-2022-22965)

2022年3月29日,该社区发现了一系列推文,其中包含针对Spring Core(SC)的漏洞概念验证的屏幕截图,该漏洞允许远程执行所有版本的Spring Core代码,包括最近发布的版本5.3.17。

哪些应用程序面临风险?

目前,只有托管在Tomcat上的应用程序才被证实存在这种新漏洞的风险。尽管针对嵌入式 Tomcat Servlet 容器或任何其他非 Tomcat 托管应用程序的攻击尚未被证明是成功的,但这并不排除将来这些框架成功使用威胁的可能性。

春季发布了官方 声明 关于该漏洞,根据目前对该漏洞的理解,该漏洞阐明了需要满足以下条件才能受到攻击:

  • JDK 9 或更高版本
  • Apache Tomcat 作为 Servlet 容器
  • 打包成传统 WAR(与 Spring Boot 可执行文件 jar 相反)
  • Spring-webmvc 或 spring-webflux 依赖关系
  • Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本

“Spring4Shell” 漏洞是如何运作的?

该漏洞依赖于在方法签名中使用普通旧 Java 对象 (POJO) 的请求中使用 “数据绑定”(org.springframework.web.bind.Web.bind.WebDataBinder):

其中 Foo 类是一个 POJO 类,可以定义如下。请注意,实际的类并不重要,只要它由类加载器加载即可。

当请求由这样的方法处理时,类加载器用于解析该类。类加载器负责在运行时加载类,而不必先将所有可能的类型预加载到内存中。它会计算出使用新类时要加载哪个.jar 文件。

您可以直接从Spring上找到有关此漏洞的最新和深入的信息 博客文章,包括潜在的修复或变通方法。

漏洞 2-Spring Cloud 函数 (CVE-2022-22963)

2022年3月27日,Cyber Kendra披露了有关Spring Cloud Functions中一个为期0天的远程代码执行(RCE)漏洞的详细信息,该漏洞尚无补丁。漏洞被分配了 ID CVE-2022-22963:Spring 表达式资源访问漏洞

哪些应用程序面临风险?

该漏洞影响了以下条件下的应用程序:

  • JDK 9 或更高版本
  • Spring Cloud Functions 版本 3.1.6(或更低版本)、3.2.2(或更低版本)或任何不支持的版本

剥削是如何运作的?

Spring Cloud Function 使开发人员能够通过属性 spring.cloud.function.routing-expression 配置如何处理路由,通常通过配置或代码来完成。这是一种接受 “Spring 表达语言” (SpEL) 的强大功能。通过这个为期 0 天的漏洞,我们了解到该属性可以通过请求的 HTTP 标头进行设置,这意味着攻击者可以将 SpEL 代码直接嵌入到其 RoutingFunction 端点的 HTTP 请求中,从而执行任意代码。

用户应采取哪些措施来降低风险?

春天有 已发布 版本 3.1.7 和 3.2.3 通过不允许通过 HTTP 标头设置此属性来解决此问题,从而缓解了漏洞。升级到任一版本后,无需执行其他步骤。

有兴趣进一步了解我们如何帮助开发人员编写更安全的代码吗?预订演示 或者浏览我们的免费安全编码指南 安全代码教练。

资料来源

目录

下载PDF
查看资源
对更多感兴趣?

learn more

Secure Code Warrior可以帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全放在首位的文化。无论您是 AppSec 经理、开发人员、首席信息安全官还是任何与安全相关的人,我们都可以帮助您的组织降低与不安全代码相关的风险。

预订演示下载
分享到:
linkedin brandsSocialx logo
资源中心

帮助您入门的资源

更多帖子
资源中心

帮助您入门的资源

更多帖子