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 9.0.0.M1 ~ 9.0.35
Apache Tomcat 8.5.0 ~ 8.5.55
- 漏洞描述:一个特别制作的 HTTP/2 请求序列,在短短数秒内能导致 CPU 满负载率,如果有足够数量多的此类请求连接(HTTP/2)并发放在服务器上,服务器可能会失去响应 。
- Apache Tomcat 10.0.0-M6+
- Apache Tomcat 9.0.36+
- Apache Tomcat 8.5.56+
Apache Tomcat HTTP/2 拒绝服务漏洞也给Spring Cloud / Boot 框架带来了一定的影响 。下面是所有受影响的版本列表,大家可以查看并对照下自己的代码,看看是否受到影响 。
Spring Cloud Edgware / Spring Boot 1.5.xSpring Cloud [Edgware.RELEASE - Edgware.SR6] 版本受到影响 。
Spring Boot [1.5.0.RELEASE - 1.5.22.RELEASE] 版本受到影响 。
Spring Cloud Finchley / Spring Boot 2.0.xSpring Cloud [Finchley.RELEASE - Finchley.SR4] 版本受到影响 。
Spring Boot [2.0.0.RELEASE - 2.0.9.RELEASE] 版本受到影响 。
Spring Cloud Greenwich / Spring Boot 2.1.xSpring 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.xSpring 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.xSpring Boot [2.3.0.RELEASE] 版本受到影响 。
Spring Boot [2.3.1.RELEASE] 版本已修复 。
03 升级方案
为了避免上述漏洞,现有两种升级方案:
- 直接升级Spring Boot版本 。
- 手动升级Tomcat版本 。
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.xFinchley无法通过升级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.x1. 升级Spring Boot<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.15.RELEASE</version></parent>
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Promethues如何监控Tomcat
- 趣操作,Tomcat如何实现一键式启停?
- 一行代码引来的安全漏洞,就让我们丢失了整个服务器的控制权
- 中间件-新手部署tomcat需知的知识点
- 小白熟悉tomcat知识点
- 应用程序加固Tomcat篇
- win10环境下tomcat的安装、配置与启动
- 没有公网IP,花生壳+Tomcat快速实现Web管理远程外网访问
- Tomcat优化大全,进来看了,真就会了
- 我成功攻击了Tomcat服务器,大佬们的反应亮了