Spring 库中的新漏洞:如何判断您是否面临风险以及该采取什么措施

近期,Java 社区中最受欢迎的库之一 Spring 披露了 2 个与远程代码执行 (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 托管的应用程序有效,但这并不排除未来这些框架受到威胁的可能性。
Spring 发布了一份关于该漏洞的官方声明,根据目前对该漏洞的了解,明确了受影响的应用程序需满足以下条件:
- 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.WebDataBinder):

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

当请求由类似这样的方法处理时,会使用类加载器来解析该类。类加载器负责在运行时加载类,而无需先将所有可能的类型预加载到内存中。它会在使用新类时确定要加载哪个 .jar 文件。
您可以直接从 Spring 的博客文章中获取有关此漏洞的最新且深入的信息,包括潜在的修复方案或变通方法。
漏洞 2 - Spring Cloud Function (CVE-2022-22963)
2022 年 3 月 27 日,Cyber Kendra 披露了 Spring Cloud Functions 中一个 0-day 远程代码执行 (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)。通过此次零日漏洞,我们发现该属性可以通过 HTTP 请求头进行设置,这意味着攻击者可以将 SpEL 代码直接嵌入到发送至 RoutingFunction 端点的 HTTP 请求中,从而执行任意代码。
用户应采取哪些措施来降低风险?
Spring 已 发布 3.1.7 和 3.2.3 版本以解决此问题,通过禁止通过 HTTP 请求头设置该属性来修复漏洞。升级到上述任一版本后,无需进行其他操作。
想了解我们如何帮助开发者编写更安全的代码吗?预约演示 或在 上探索我们的免费安全编码指南。
参考来源
- https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
- https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/
在 AI 驱动的开发成果发布前实现有效治理
评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。
探索更多博客
获取有关安全编码、人工智能治理和软件风险管理的专家内容。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
在产品发布前确保 AI 驱动的开发安全
洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。



.avif)