PerfMa

IT系统稳定性保障专家

请至少选择一个您感兴趣的方案
发送验证码

感谢您的提交!

我们会在2工作日内与您联系

产品

全天候为您的IT系统稳定运行提供有力保障
即刻开启您的IT系统稳定性保障之旅

XSea 全链路压测平台

多地域高仿真流量模拟、端到端流量染色与数据隔离、全链路压测风险熔断

XWind 性能风险巡检与诊断平台

无人值守智能分析、风险处理能力闭环、可拓展性能风险知识库、丰富图表及报告、开放API助力DevOps

TestMa 质量效能平台

全流程的质量闭环,可度量的质量数据,无门槛的接口编排,高效率的精准测试

XChaos 混沌工程平台

应用架构智能感知、故障演练场景丰富、高级多流程编排、多维度演练观测、过程安全控制、第三方集成扩展

XSpider 监控平台

无侵入实时性能分析、低性能开销、动态采样、根因定位

解决方案

沉淀PerfMa多年的业务经验,提供金融、
证券、快消、交运等多个领域的解决方案

金融

依托全链路压测平台的能力,建立一套完整的性能保障体系

电商

基于平台的建设及专家咨询服务,进行统一平台管理,实现工具、框架的统一

连锁快消

实现多维自动化能力,协助构建标准化的性能测试及回归体系,提升测试效率

交通运输

以数据驱动,形成标准化测试能力,保障系统的正确性、性能容量及可靠性

公司动态

全方位汇集PerfMa大小资讯
寻找对您有帮助的事件

PerfMa新闻

PerfMa公司最新动态或消息,为您提供关于PerfMa公司的第一手资讯

PerfMa活动

为您提供PerfMa线上线下精彩活动回顾及预告

关于

和优秀的小伙伴一起共事
不负初心,用技术的力量创造梦想

关于PerfMa

强大的专业团队、企业资深专家,致力于为企业提供性能领域的全方位解决方案

加入我们

浓厚的工程师文化、靠谱的发展平台、舒适的办公环境,拥抱变化中快速成长

社区&开源

汇聚IT系统稳定性领域问题诊断调优精英
共建IT系统稳定性领域问题诊断调优标准和能力

专注性能领域垂直社区,几十万开发者在这里交流性能问题,分享技术干货,是开发者们学习和成长的乐园。


访问HeapDump社区 >

为终结性能问题而生的开源插件容器,将定位/解决各种性能问题的工具适配成插件,通过相互联动组合,一键解决您的性能问题。


访问XPocket官网 >
Spring 官方证实:框架爆大漏洞,JDK 9 及以上版本均受影响
2022-04-02

继 Log4j 2 之后,听闻 Java 再次遭到漏洞攻击,这一次,似乎情况也更为严重,因为受到影响的是 Java 平台的开源全栈应用程序框架和控制反转容器实现——Spring 家族,而且网传漏洞还不止一个。

一直以来,Spring 是编程开发的必选技术之一,此前一位名为 Bogdan N. 的全栈开发者甚至评价道:“学习 Java、学习 Spring 框架,你永远都不会失业。”可想而知,如果 Spring 城门失火,Java 必定遭殃。

据悉,3 月 30 日,国家信息安全漏洞共享平台(CNVD)接收到蚂蚁科技集团股份有限公司报送的 Spring 框架远程命令执行漏洞(CNVD-2022-23942)。攻击者利用该漏洞,可在未授权的情况下远程执行命令。CNVD 对该漏洞的综合评级为“高危”。

3 月 31 日晚间,Spring.io 官方也紧急发布了早期公告,证实了 Spring 框架 RCE 漏洞的存在,而且受影响版本覆盖 JDK 9 及更高版本、Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本等。

前情

这个漏洞还要从 3 月 29 日晚间说起。

彼时有不少网友爆料,Spring 框架出现“史诗级” RCE 漏洞,平地一声雷,一时之间,快要入睡的开发者们纷纷坐起查看关于漏洞的情况,闹得技术圈中人心惶惶。

不过有些不同寻常的是,这个漏洞并没有像 Log4j2 事件那样引起的圈内诸多企业大厂的紧急行动,甚至连国外披露漏洞的根源也是来自 QQ 和国内部分网络安全网站。

 


这也让不少网友猜测,该漏洞应该是国内某个安全机构、安全人员最先发现的。果不其然,据 3 月 31 日国家信息安全漏洞共享平台(CNVD)发布的《关于Spring框架存在远程命令执行漏洞的安全公告》显示,这群神秘的白帽子们包括蚂蚁科技集团、奇安信科技、杭州安恒信息技术、安天科技、360、北京天融信,当然这些都是后话了。

此前,有网友将该漏洞发布到了 GitHub 上(目前已删除,但有网友将该页面保存了下来):

 

 

来源:https://archive.ph/DIbrv
根据网传的内容显示:

Spring 框架出现的 RCE 0day 漏洞影响的范围为 JDK 版本号在 9 及以上的、使用了 Spring 框架或衍生框架。

 


随着该网传漏洞的暗流涌动,国外不少网络安全研究人员和安全公司也发布 Twitter 表示这一漏洞的存在:

 


随着事情的发酵,在 Spring 官方尚未发布最新说明之前,开发者完全无法确定哪些应用程序使用了有漏洞的功能,这也导致但凡和 Spring 沾点关系的功能,开发者都要问上一句「是否涉及 Spring Core 的 RCE 0day 漏洞」。

 

 

同时,也有不少网友调侃道:

别慌,虽然现在 Java 已经到了 Java 18 版本,但是很多企业仍然停留在 Java 8 版本及以下。

 


不同的安全漏洞,也让 Java 工程师产生了严重的心理阴影:

 

 

Spring 零日漏洞真的存在

就在开发者越来越焦灼时,Spring.io 官方于 3 月 31 日晚间出面证实了这一漏洞的存在,并带来了解决方案。

 


根据公告,我们发现这个漏洞的影响远比我们想象的更为严重,如果满足以下几种门槛,极有可能受漏洞影响:

  • JDK 9 或更高版本
  • Apache Tomcat 作为 Servlet 容器
  • 打包为传统的 WAR(与 Spring Boot 可执行 jar 相比)
  • spring-webmvc 或 spring-webflux 依赖
  • Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本

 

初步解决方案

当前 Spring.io 已经发布了 Spring Framework 5.3.18 和 5.2.20 版本,同时还带来了最新的依赖于 Spring Framework 5.3.18 的 Spring Boot 2.6.6 和 2.5.12 。因为如果你能升级到 Spring Framework 5.3.18 和 5.2.20,就不用以下的修复方案了。

如果不可以,Spring 官方建议通过 @ControllerAdvice 来设置 WebDataBinder 的 disallowedFields。

 


这个解决方案通常会有效,但也并不是 100% 可以阻止漏洞。因此为了更加保险一些,Spring.io 还建议应用程序可以扩展 RequestMappingHandlerAdapter,同时在所有其他初始化之后,在最后更新WebDataBinder。为了实现这一点,Spring Boot 应用程序可以声明一个 WebMvcRegistrations(Spring MVC)或 WebFluxRegistrations bean(Spring WebFlux)。

在Spring MVC中(在WebFlux中也类似)示例如下:

 


对于没有 Spring Boot 的 Spring MVC,应用程序可以从 @EnableWebMvc 切换到直接扩展 DelegatingWebMvcConfiguration,如这个文档中(https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-config-advanced-java)高级配置部分所述,然后重写 createRequestMappingHandlerAdapter 方法。

基于以上,我们建议受漏洞影响的产品(服务)厂商和信息系统运营者第一时间进行自查,并及时升级至最新版本。

内容来源:CSDN
原文链接:https://blog.csdn.net/csdnnews/article/details/123878459

请至少选择一个您感兴趣的方案
发送验证码

感谢您的提交!

我们会在2工作日内与您联系

业务咨询电话:4008-717-107

公司联系电话:0571-8500-1801