Spring4Shell的严重性被夸大了?

近日,流行的Java Web应用开发框架Spring Framework中披露的远程代码执行零日漏洞Spring4Shell的严重性似乎被很多安全媒体夸大了,Spring4Shell到底是否“能跟Log4j漏洞相提并论”呢?

一个“堪比Log4j”的零日漏洞——Spring4Shell让企业安全主管们纷纷绷紧了神经。

漏洞到底有多严重

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

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

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

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

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

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

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

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

漏洞利用与缓解

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

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

本周三晚些时候,分析师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(预计在本周五发布)

Spring管理员应尽快优先部署上述安全更新,因为Spring4Shell漏洞扫描程序已经出现,并且有报告称该漏洞已经在野外被积极利用。

参考链接:

https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement

https://www.praetorian.com/blog/spring-core-jdk9-rce/

https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/

https://mp.weixin.qq.com/s/8SaIoSEaT3xjoXuOFD23Eg

前一篇防范电信网络诈骗 警惕“云挖矿”陷阱
后一篇勒索软件攻击给软件巨头造成4210万美元损失