vlambda博客
学习文章列表

微软云服务被Spring4Shell攻击!!!!比肩Log4j高危漏洞?

1 ·.    微软在其云服务中检测到Spring4Shell攻击

4月4日,微软发布公告称, 安全团队检测到正利用近期曝出的Spring4Shell(又名 SpringShell)远程代码执行(RCE)漏洞进行的攻击,目标是自身的云服务产品

Spring4Shell漏洞(跟踪为 CVE-2022-22965)源自 Spring 框架,该框架被称为“使用最广泛的 Java 轻量级开源框架”。微软365 Defender 威胁情报团队表示,自该漏洞出现以来,就监测到了利用云服务中Spring Cloud 和 Spring Core 漏洞进行的持续性攻击。

微软云服务被Spring4Shell攻击!!!!比肩Log4j高危漏洞?


根据4日发布的报告称,攻击者可以通过向运行 Spring Core 框架的服务器发送特的查询来利用Spring Core 安全漏洞,从而在 Tomcat 根目录中创建 Web shell ,并以此在受感染的服务器上执行命令。

微软认定,受影响的系统具有以下特征:

1.运行 JDK 9.0 或更高版本

2.Spring Framework 版本 5.3.0 至 5.3.17、5.2.0 至 5.2.19 及更早版本

3.Apache Tomcat 作为 Servlet 容器

4.打包为传统的 Java Web 存档 (WAR) 并部署在独立的 Tomcat 实例中;使用嵌入式 Servlet 容器或响应式 Web 服务器的典型 Spring Boot 部署不受影响

5.Tomcat 有spring-webmvc或spring-webflux依赖项

此外,微软也表示,任何使用 JDK 9.0 或更高版本并使用 Spring Framework 或衍生框架的系统都存在风险。

4月5日, Check Point 发布报告评估,Spring4Shell漏洞利用尝试已达到所有受影响设备或组织的16%,并根据内部的监测数据显示,仅在上周末,Check Point 研究人员就检测到了大约 37000 次 Spring4Shell 漏洞利用攻击。

2 ·.    漏洞到底有多严重


根据Spring周四发布的安全公告,Spring4Shell漏洞(CVE-2022-22965)影响JDK 9上的Spring MVC和Spring WebFlux应用程序,漏洞利用要求应用程序作为WAR部署在Tomcat上运行。官方公告指出:“如果应用程序部署为默认的Spring Boot可执行jar,则不易被利用。但是,该漏洞的性质更普遍,可能还有其他方法可以利用它。”

微软云服务被Spring4Shell攻击!!!!比肩Log4j高危漏洞?


虽然Spring4Shell可能很严重,但必须满足某些条件才能被利用。(本周一绿盟科技在Spring Cloud Function中发现了第一个零日漏洞CVE-2022-22963,本文讨论的是同一周在Spring Framework核心模块中发现的第二个零日漏洞Spring4Shell)

Rapid7对Spring Framework 4.3.0到5.3.15版本的测试发现,该漏洞似乎源于使用@RequestMapping注解和POJO参数的函数。攻击者可以利用该漏洞释放有效载荷并执行命令。

微软云服务被Spring4Shell攻击!!!!比肩Log4j高危漏洞?


包括LunaSec在内的多家网络安全公司表示,运行Java开发工具包(JDK)9及更高版本的用户可能容易受到攻击。

但不少安全人士表示,Spring4Shell的威胁被夸大了。截至本文发稿,业界尚不清楚该漏洞的影响有多广泛,或者哪些特定应用程序可能容易受到攻击。相比之下,去年12月披露的Log4j高危漏洞的严重性在业界是毫无争议的,因为大多数企业中广泛使用的Apache Log4j日志库都受到漏洞的影响,并且漏洞利用也非常容易。

微软云服务被Spring4Shell攻击!!!!比肩Log4j高危漏洞?


Dorman指出,Spring4Shell的严重性仍有待确定,因为现在还不清楚现实世界中哪些应用程序受到该漏洞影响。或者“它的主要影响范围是否仅限于使用Spring并满足易受攻击要求列表的特定软件”。

网络安全公司LunaSec在一篇博文中表示,对于Spring4Shell,一个基本观点是:“它不应该被忽视,但这个漏洞并不像Log4j漏洞那么严重”。

LunaSec表示,所有使用Spring4Shell的攻击场景都比Log4j漏洞更复杂,并且有更多的缓解措施。

3 ·.    漏洞利用与缓解


上周二,国内外多家网络安全公司的研究人员分析并公布了Spring4Shell漏洞的详细信息,确定该漏洞是对CVE-2010-1622的绕过利用,但影响范围更广。

Praetorian的安全工程师周三表示,Spring4Shell漏洞影响JDK(Java开发工具包)9及更高版本上的Spring Core。Praetorian表示他们也已经开发出针对Spring4Shell漏洞的有效利用,并在一篇博文中透露:“我们已经向Spring安全团队披露了我们的漏洞利用的全部细节,并且正在推迟发布更多信息,直到补丁到位。”

微软云服务被Spring4Shell攻击!!!!比肩Log4j高危漏洞?

上周三晚些时候,分析师Colin Cowie和Will Dormann宣称已经成功利用官方提供的示例代码中的Spring4Shell漏洞,并指出:“如果示例代码易受攻击,那么我怀疑现实世界中确实存在很多易受攻击的应用程序,因为很多开发人员使用示例代码作为其应用程序的模板。”

在此之前,一位讲中文的开发人员提前发布了Spring4Shell的利用代码,该代码提交后虽然被删除,但已经在安全研究社区中传开,并被验证有效。


上周四(3月31日)下午,Spring声称由于此前有安全研究人员公布了完整细节,提前发布了5.2.20.RELEASE与5.3.18版本修复此漏洞,PoC也已公开。

Spring发布的修复漏洞的Spring新版本如下(除了Spring Boot之外的所有版本都已经更新到Maven Central):

Spring Framework 5.3.18、Spring Framework 5.2.20

Spring Boot 2.5.12、Spring Boot 2.6.6


<END>