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

導語:近期Apache Tomcat爆出 HTTP/2 拒絕服務漏洞,Spring Cloud/Boot框架的多個版本均已中招。本文整理了受影響的框架版本列表,並列出升級方案,幫助你們避免受到該漏洞的影響。web


01

事件背景spring




6月25日, Apache 官方安全團隊經過郵件公開報告了一個高危漏洞,郵件中介紹了 HTTP/2 拒絕服務漏洞的細節及解決方案。以下圖所示:apache

漏洞詳情連接:api

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



翻譯
  • 漏洞名稱: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)併發打在服務器上,服務器可能會失去響應。websocket


若是條件容許,能夠經過升級到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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索