另一个核弹级漏洞,Spring框架曝RCE远程代码执行0day漏洞

未分割的Java Spring框架0日RCE BUG威胁企业Web应用程序安全性

最新的网络安全研究中,中国的网络安全研究人员在Java Spring框架中发现了一个RCE远程代码执行0day漏洞。该漏洞会影响 Java 开发工具包 ( JDK ) 版本 9 及更高版本上的 Spring Core,并且是绕过另一个被跟踪为 CVE-2010-1622 的漏洞,使未经身份验证的攻击者能够在目标系统上执行任意代码。

Spring 是一个用于构建 Java 应用程序的软件框架,包括基于 Java EE(企业版)平台的 Web 应用程序。在某些配置中,利用这个漏洞很简单,因为它只需要攻击者向易受攻击的系统发送精心设计的 HTTP 请求。但是,在其他配置中利用该漏洞将需要攻击者进行额外的研究以找到有效的有效载荷。

根据网络安全行业门户「极牛网」GEEKNB.COM的梳理,该漏洞的其他细节被称为 SpringShell Spring4Shell ,目前仍未分配CVE漏洞号。该零日漏洞利用针对的漏洞与本周在应用程序框架中披露的两个漏洞不同,包括Spring Framework表达式DoS漏洞(CVE-2022-22950)和Spring Cloud表达式资源访问漏洞(CVE-2022-22963)。

未分割的Java Spring框架0日RCE BUG威胁企业Web应用程序安全性

对 Spring Core 中新代码执行漏洞的初步分析表明,它的影响可能并不严重,一方面是由于该漏洞的利用特征明显,通过目前现有的防护手段,例如WAF、NIPS等都可以通过简单的规则匹配对攻击进行拦截,另一方面,对该漏洞的利用也需要某个特定的配置下才能较容易利用,且目前国内使用JDK 9 以上版本并不多,所以该漏洞实际的影响远没有本年的另一个核弹级漏洞Log4j那么深远。

目前Spring官方并没有发布与此漏洞相关的补丁文件,相关漏洞POC也暂未被公开。考虑到自3月29日起已在小范围传播,鉴于Spring MVC的广泛应用,各企业仍需警惕远程攻击者,并采用广东省网络安全应急响应中心公布临时方案加强防护。FreeBuf将密切关注Spring官方的补丁发布情况。

临时方案1:WAF临时策略

在WAF等网络防护设备上,根据实际部署业务的流量情况,实现对

“class.*”,“Class.*”,“*.class.*”,“*.Class.*”

等字符串的规则过滤,并在部署过滤规则后,对业务允许情况进行测试,避免产生额外影响。

临时方案2:临时缓解措施

在应用系统的项目包下新建以下全局类,并保证这个类被Spring 加载到(推荐在Controller 所在的包中添加)完成类添加后。

import org.springframework.core.annotation.Order; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.InitBinder; @ControllerAdvice @Order(10000) public class a{ @InitBinder public void setAllowedFields(WebDataBinder dataBinder) { String[] abd = new String[]{“class.*”, “Class.*”, “*.class.*”, “*.Class.*”}; dataBinder.setDisallowedFields(abd); } }

需对项目进行重新编译打包和功能验证测试,并重新发布项目。

 

另一个核弹级漏洞,Spring框架曝RCE远程代码执行0day漏洞

极牛网精选文章《另一个核弹级漏洞,Spring框架曝RCE远程代码执行0day漏洞》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/18768.html

(25)
打赏 微信公众号 微信公众号 微信小程序 微信小程序
上一篇 2022年3月30日 上午11:11
下一篇 2022年3月30日 下午2:44

相关推荐

发表回复

登录后才能评论