Введение. Недавно Apache Tomcat взломал уязвимость отказа в обслуживании HTTP/2, и несколько версий платформы Spring Cloud/Boot подверглись атаке. В этой статье приводится список уязвимых версий платформы и перечислены планы обновления, которые помогут вам избежать воздействия этой уязвимости.
фон события
25 июня официальная группа безопасности Apache публично сообщила об уязвимости высокой степени опасности по электронной почте, в которой были представлены подробности и решения уязвимости отказа в обслуживании HTTP/2. Как показано ниже:
Ссылка на детали уязвимости:Купил - archives.apache.org/feel_pulse/ask…
перевести
- Название уязвимости: Уязвимость отказа в обслуживании Apache Tomcat HTTP/2
- № уязвимости: CVE-2020-11996
- Серьезность: важно
- Поставщик программного обеспечения: Apache Software Foundation
- Затронутые версии:
- 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-запросов может вызвать полную загрузку процессора всего за несколько секунд, при одновременном подключении к серверу достаточного количества таких запросов (HTTP/2) сервер может потерять ответ.
Если позволяют условия, уязвимость можно устранить путем обновления до новой версии Tomcat. Ниже приведены версии безопасности, соответствующие уязвимым версиям:
- Apache Tomcat 10.0.0-M6+
- Apache Tomcat 9.0.36+
- Apache Tomcat 8.5.56+
Влияние среды 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
] исправлена версия.
План обновления
В настоящее время доступны два варианта обновления:
- Непосредственно обновите версию Spring Boot.
- Вручную обновите версию 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
Обновление Spring Boot
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.15.RELEASE</version>
</parent>
Обновление 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
Обновление Spring Boot
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.8.RELEASE</version>
</parent>
Обновление 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
Обновление Spring Boot
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
</parent>
Обновление 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>
Добро пожаловать, чтобы отсканировать код, чтобы подписаться на нашу общедоступную учетную запись WeChat, и с нетерпением ждем встречи с вами ~
В официальном аккаунте время от времени проводятся раздачи книг и лотереи (кукла Tencent / T 桖), приходите и следите за нами и добавляйте промежуточное ПО Xiao Qmei WeChat