Spring 官宣承认网传 RCE 大漏洞,并拒绝提供解决方案


Spring 沦陷了!这样的标题这几天是不是看腻了?然而,仔细看看都是拿着之前的几个毫不相干的CVE来大吹特吹。所以,昨天发了一篇关于最近的文章,聊了聊这些让人迷惑的营销文、以及提醒大家不要去下载一些利用漏洞提供补丁的钓鱼内容。而对于这个网传的漏洞,依然保持关注状态,因为确实可能存在,只是没有官宣。 就在不久前(3月31日晚),Spring 社区发布了一篇名为《》的文章,官宣了最近网传的Spring漏洞。这也证实了网传漏洞确实存在,并且并非最近很多文章说提到的3月28、29日公布的CVE,如果你是照着那些文章解决问题的话,请根据这次官宣内容重新来过吧。 这次确定的Spring核心框架中的RCE漏洞,CVE号为CVE-2022-22965[1]。 这个漏洞是在周二深夜,由AntGroup FG的codePlutos,meizjm3i向VMware报告。周三,Spring官方对该问题进行了调查、分析并确定了解决方案,同时计划在周四进行紧急版本的发布。 由于该漏洞被泄漏在网络上,所以Spring官方紧急发布了相关修复的版本,因为是Spring核心框架中的漏洞,所以涉及面较广。所以在这篇博文中也是在不断的持续更新进展,下面截止到本文发稿的进展时间线: 下面就来一起看看这个被网传了2天的神秘漏洞的官宣内容和解决方案。 影响范围 该漏洞的利用需要满足下面的条件: JDK 9 + 使用Apache Tomcat部署 使用WAR方式打包 依赖spring-webmvc或spring-webflux 虽然可能国内大部分用户还在用JDK 8、或者采用内置Tomcat的方式运行,但由于该漏洞的特性比较普遍,不排除其他利用方式的存在。所以,DD还是建议在有条件的情况下,尽快升到最新版本来避免可能存在的风险发生。 解决方案 因为这次不是网传,而是 Spring 官宣,所以解决方案已经相对完善和容易了,受影响的用户可以通过下面的方法解决该漏洞的风险: Spring 5.3.x用户升级到5.3.18+ Spring 5.2.x用户升级到5.2.20+ Spring Boot 2.6.x用户升级到2.6.6+ Spring Boot 2.5.x用户升级到2.5.12+ 对于该漏洞的复习及更多细节,这里因为篇幅有限,就不具体介绍了。 然后,这里需要特别再提一下,之前已经收到消息并有所行动的小伙伴,没猜错的话应该都是用下面的解决方案来处理的吧? public void setAllowedFields(WebDataBinder dataBinder) { String[] denylist = new String[]{"class.*", "Class.*", "*.class.*", "*.Class.*"}; dataBinder.setDisallowedFields(denylist); 这次 Spring 官方推文里,证实了该方法是有效的,但可能会留下一些其他隐患,特别是当Controller通过其自己的@InitBinder方法在本地设置disalloedFields时,该方法会覆盖全局设置。 为了以更安全的方式应用解决方案,应用程序可以扩展RequestMappingHandlerAdapter,以便在所有其他初始化结束后更新WebDataBinder。官方给出了更好的解决方案,比如下面这样: public RequestMappingHandlerAdapter getRequestMappingHandlerAdapter() { return new ExtendedRequestMappingHandlerAdapter(); private static class ExtendedRequestMappingHandlerAdapter extends RequestMappingHandlerAdapter { @Override protected InitBinderDataBinderFactory createDataBinderFactory(List InvocableHandlerMethod methods) { return new ServletRequestDataBinderFactory(methods, getWebBindingInitializer()) { @Override protected ServletRequestDataBinder createBinderInstance( Object target, String name, NativeWebRequest request) throws Exception { ServletRequestDataBinder binder = super.createBinderInstance(target, name, request); String[] fields = binder.getDisallowedFields(); List String fieldList = new ArrayList (fields != null ? Arrays.asList(fields) : Collections.emptyList()); fieldList.addAll(Arrays.asList("class.*", "Class.*", "*.class.*", "*.Class.*")); binder.setDisallowedFields(fieldList.toArray(new String[] {})); return binder;

相关文章

2022-03-31

近日,最受欢迎的开源轻量级 Java 框架 Spring 被曝存在高危的 RCE(远程控制设备) 零日漏洞 ,、外媒 、 等站点对该漏洞进行了报道。 据网上疯传的介绍,该 RCE 漏洞源于 Spring 框架核心的 SerializationUtils#dserialize 方法,该方

2022-08-24

微软方面近日公布了他们发现的有关 ChromeOS 漏洞的技术细节。公告指出,该公司在 ChromeOS 组件中发现了一个可以远程触发的内存损坏漏洞,允许攻击者执行拒绝服务 (DoS) 攻击,或者在极端情况下执行远程代码执行 (RCE)。 微软

2022-04-25

Check Point 的研究人员近日发现,开源的 ALAC 存在严重的漏洞,该漏洞允许攻击者在受影响的设备上进行远程代码执行(RCE)攻击。而联发科和高通这两大移动芯片制造商都在旗下的音频解码器中使用了相关代码。 根据市场研

2022-04-07

DataGear 3.0.1 发布,修复系统Spring库存在的RCE漏洞,具体更新内容如下: 修复:SpringBoot版本由2.6.4升级至2.6.6,修复其2.6.4版本存在的RCE漏洞; 强烈建议大家升级! DataGear是一款开源免费的数据可视化分析平台,支持自

2021-12-29

Apache Log4j 日志库中发现了另一个严重的远程代码执行漏洞,现在被跟踪为 CVE-2021-44832。这是 Log4j 库中的第五个 RCE 和第六个非常严重的漏洞,其次分别是 CVE-2021-44228 (RCE)、CVE-2021-45046 (RCE) 和 CVE-2021-45105 (DoS 攻击)。 目前,Apache

2022-09-10

StreamPark[1] 在 9 月 1 号顺利通过投票,正式成为全球最大的开源基金会 Apache 软件基金会 (ASF) 的孵化项目。这是 StreamPark 项目的新起点,意味着开源社区化协作将会变得更加规范以及国际化。   什么是 StreamP

2021-12-23

洞严重性不言而喻。 除了比利时,据以色列的网络安全解决方案提供商 Check Point Software Technologies 称,一群与伊朗政权有关的黑客(被称为 Charming Kitten 或 APT 35),利用 Log4j 中的漏洞对以色列的七个目标网站或站群发起攻击,

2022-09-10

的作者 Danie 在博客中分享了 curl 持续了 23.9 年的 DOS 漏洞。 1998 年 10 月, curl 4.9 发布了,curl 4.9 是第一个带有“cookie 引擎”的版本,可以接收 HTTP cookie、解析、理解并在后续请求中正确返回 cookie。 当然,当时 curl 的受

2022-09-15

GoView 低代码「数据可视化」开发平台 作者介绍 名称:奔跑的面条 dromara 开源组织成员,dromara/go-view 作者 前端高级开发工程师,开源过众多数据可视化相关项目,拥有丰富实战经验 「蓝桥云课」数据大屏相关课程讲师

2022-08-15

他应用软件所使用的底层框架存在 RCE(远程代码执行)漏洞。 上周四在拉斯维加斯举行的黑帽网络安全大会 (Black Hat cybersecurity conference) 上,安全研究人员在流行的应用软件如 Discord、Microsoft Teams、Slack,和其他许多应用的

2022-05-26

善的、全面的,基于 OAuth2 的、前后端分离的微服务架构解决方案。 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。 平台架构使用微服务领域及周边

2022-01-06

驳称,“禁用错误状态代码的缓存”绝对不是一个可行的解决方案。并指出,如果禁用错误状态代码的缓存,处理错误响应的每个请求都会返回到 origin,从而有效地创建了一个错误率不断增加的 DDoS 攻击;这将使得 origin offline

2022-03-08

据,并在受损的系统上执行任意代码。 目前 Mozilla 已承认“我们已经收到了关于野外攻击的报告”,但没有分享关于入侵时间或恶意攻击者相关的任何技术细节。鉴于漏洞被积极利用,建议用户尽快升级到Firefox 97.0.2、Firefox E

2022-05-20

Spring Security 是一个 Java/Java EE 框架,为企业应用提供认证、授权和其他安全功能。该项目于 2004 年 3 月在 Apache 许可下公开发布。随后被纳入 Spring 组合,成为 Spring 的官方子项目。 Spring Security 6.0.0-M5 现已正式发布,这个版本包