文档章节

Tomcat爆出安全漏洞!Spring Cloud/Boot框架多个版本受影响

腾讯云中间件
 腾讯云中间件
发布于 2020/07/08 20:44
字数 1221
阅读 604
收藏 0

导语:近期Apache Tomcat爆出 HTTP/2 拒绝服务漏洞,Spring Cloud/Boot框架的多个版本均已中招。本文整理了受影响的框架版本列表,并列出升级方案,帮助大家避免受到该漏洞的影响。


01

事件背景




6月25日, Apache 官方安全团队通过邮件公开报告了一个高危漏洞,邮件中介绍了 HTTP/2 拒绝服务漏洞的细节及解决方案。如下图所示:

漏洞详情链接:

http://mail-archives.apache.org/mod_mbox/www-announce/202006.mbox/%3Cfd56bc1d-1219-605b-99c7-946bf7bd8ad4@apache.org%3E



翻译
  • 漏洞名称:Apache Tomcat HTTP/2 拒绝服务漏洞
  • 漏洞编号:CVE-2020-11996
  • 严重程度: 重要
  • 软件提供商: Apache 软件基金会
  • 受影响的版本:

        Apache Tomcat 10.0.0-M1 ~ 10.0.0-M5

         Apache Tomcat 9.0.0.M1 ~ 9.0.35

         Apache Tomcat 8.5.0 ~ 8.5.55
  • 漏洞描述:一个特别制作的 HTTP/2 请求序列,在短短数秒内能导致 CPU 满负载率,如果有足够数量多的此类请求连接(HTTP/2)并发打在服务器上,服务器可能会失去响应。


如果条件允许,可以通过升级到Tomcat新版本来解决漏洞。下面为受影响版本对应的安全版本:
  • Apache Tomcat 10.0.0-M6+

  • Apache Tomcat 9.0.36+

  • Apache Tomcat 8.5.56+


02

Spring Cloud / Boot 框架影响




Apache Tomcat HTTP/2 拒绝服务漏洞也给Spring Cloud / Boot 框架带来了一定的影响。下面是所有受影响的版本列表,大家可以查看并对照下自己的代码,看看是否受到影响

Spring Cloud Edgware / Spring Boot 1.5.x

Spring Cloud [Edgware.RELEASE - Edgware.SR6] 版本受到影响。

Spring Boot [1.5.0.RELEASE - 1.5.22.RELEASE] 版本受到影响。

Spring Cloud Finchley / Spring Boot 2.0.x

Spring Cloud [Finchley.RELEASE - Finchley.SR4] 版本受到影响。

Spring Boot [2.0.0.RELEASE - 2.0.9.RELEASE] 版本受到影响。

Spring Cloud Greenwich / Spring Boot 2.1.x

Spring Cloud [Greenwich.RELEASE - Greenwich.SR6] 版本受到影响。

Spring Boot [2.1.0.RELEASE - 2.1.14.RELEASE] 版本受到影响。

Spring Boot [2.1.15.RELEASE] 版本已修复。

Spring Cloud Hoxton / Spring Boot 2.2.x

Spring Cloud [Hoxton.RELEASE - Hoxton.SR6] 版本受到影响。

Spring Boot [2.2.0.RELEASE - 2.2.7.RELEASE] 版本受到影响。

Spring Boot [2.2.8.RELEASE] 版本已修复。

Spring Boot 2.3.x

Spring Boot [2.3.0.RELEASE] 版本受到影响。

Spring Boot [2.3.1.RELEASE] 版本已修复。


03

升级方案




为了避免上述漏洞,现有两种升级方案:

  1. 直接升级Spring Boot版本。

  2. 手动升级Tomcat版本。

升级 Spring Cloud Edgware / Spring Boot 1.5.x

Edgware无法通过升级Spring Boot版本解决问题。

<properties>
<tomcat-embed.version>8.5.56</tomcat-embed.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

升级Spring Cloud Finchley / Spring Boot 2.0.x

Finchley无法通过升级Spring Boot版本解决问题。

<properties>
<tomcat-embed.version>8.5.56</tomcat-embed.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

升级Spring Cloud Greenwich / Spring Boot 2.1.x

1. 升级Spring Boot

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.15.RELEASE</version>
</parent>

2. 升级Tomcat

<properties>
<tomcat-embed.version>9.0.36</tomcat-embed.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

升级Spring Cloud Hoxton / Spring Boot 2.2.x

1. 升级Spring Boot

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.8.RELEASE</version>
</parent>

2. 升级Tomcat

<properties>
<tomcat-embed.version>9.0.36</tomcat-embed.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

升级Spring Boot 2.3.x

1. 升级Spring Boot

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
</parent>

2. 升级Tomcat

<properties>
<tomcat-embed.version>9.0.36</tomcat-embed.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>${tomcat-embed.version}</version>
</dependency>

</dependencies>

</dependencyManagement>




《聊一聊微服务架构中的服务发现系统》


探寻繁杂定时任务的解决方案:分布式任务调度系统


腾讯云中间件团队在Service Mesh中的实践与探索


《Kafka集群突破百万partition 的技术探索》


《服务治理最佳实践:如何快速依据请求参数值进行服务路由、鉴权、限流?》


扫描下方二维码关注本公众号

了解更多微服务、消息队列的相关信息


戳原文,了解更多微服务中台信息

点亮在看,你最好看

本文分享自微信公众号 - 腾讯云中间件(gh_6ea1bc2dd5fd)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

腾讯云中间件

腾讯云中间件

粉丝 299
博文 294
码字总数 492357
作品 2
深圳
私信 提问
加载中
点击引领话题?
etcd 与 Consul 的一致性读对比

本文分享和对比了 etcd 和 Consul 这两个存储的一致性读的实现。 作者:戴岳兵,爱可生研发中心工程师,负责项目的需求开发与维护工作。 爱可生开源社区出品,原创内容未经授权不得随意使用,...

爱可生开源社区
10分钟前
2
0
最大Prompt模板库助力AI应用

随着人工智能技术的不断发展,大模型已经成为了AI领域的重要趋势之一。作为国内领先的AI技术提供商,百度智能云始终致力于为用户提供最前沿、最实用的AI技术和应用体验。近日,百度智能云宣布...

百度开发者中心
19分钟前
2
0
直播预告丨电商内容营销的AIGC式进化

以大模型为驱动的 AIGC 应用指数级迭代 在各应用领域,不同的任务需求、数据集、算法,带来了巨大的AIGC应用差异。 在电商内容营销领域,最终用户关注什么? 如何针对任务需求持续优化调整?...

京东云开发者
35分钟前
2
0
最新报告:腾讯云位居中国分布式关系型数据库“领导者”类别

刚刚获悉,全球领先的IT研究和咨询公司IDC发布的《IDC MarketScape:中国分布式关系型数据库 2023年厂商评估》报告(以下称“报告”)显示,腾讯云位居中国分布式关系型数据库“领导者”类别...

肖滢
57分钟前
68
0
云图说 | 图解制品仓库服务CodeArts Artifact

本文分享自华为云社区《【云图说】第277期 图解制品仓库CodeArts Artifact》,作者:阅识风云。 制品仓库服务CodeArts Artifact用于存放源码编译生成的、可运行的二进制文件,作用是实现制品...

华为云开发者联盟
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

{{formatHtml(o.title)}}

{{i}}-{{formatHtml(o.content)}}

{{o.author.name}}
{{o.pubDate | formatDate}}
{{o.viewCount | bigNumberTransform}}
{{o.replyCount | bigNumberTransform}}

暂无文章

便宜云服务器
登录后可查看更多优质内容
返回顶部
顶部
http://www.vxiaotou.com