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/