How to Mitigate the Apache Tomcat HTTP/2 DoS Vulnerability in Spring Cloud/Boot

This guide lists the Apache Tomcat versions vulnerable to CVE-2020-11996, shows which Spring Cloud and Spring Boot releases are affected, and provides step‑by‑step upgrade instructions to secure your applications against the HTTP/2 denial‑of‑service attack.

Tencent Cloud Middleware
Tencent Cloud Middleware
Tencent Cloud Middleware
How to Mitigate the Apache Tomcat HTTP/2 DoS Vulnerability in Spring Cloud/Boot

On 2020‑06‑25 the Apache security team announced a high‑severity HTTP/2 denial‑of‑service vulnerability (CVE‑2020‑11996) in Apache Tomcat. A crafted HTTP/2 request sequence can drive CPU usage to 100 % within seconds, making the server unresponsive when enough concurrent connections are present.

Affected Tomcat releases

10.0.0‑M1 ~ 10.0.0‑M5

9.0.0.M1 ~ 9.0.35

8.5.0 ~ 8.5.55

Fixed Tomcat releases

10.0.0‑M6 and later

9.0.36 and later

8.5.56 and later

Impact on Spring Cloud / Spring Boot

Spring Cloud and Spring Boot bundles embed the vulnerable Tomcat libraries. Affected combinations include:

Spring Cloud Edgware.RELEASEEdgware.SR6 with Spring Boot 1.5.0.RELEASE1.5.22.RELEASE Spring Cloud Finchley.RELEASEFinchley.SR4 with Spring Boot 2.0.0.RELEASE2.0.9.RELEASE Spring Cloud Greenwich.RELEASEGreenwich.SR6 with Spring Boot 2.1.0.RELEASE2.1.14.RELEASE (fixed in 2.1.15.RELEASE)

Spring Cloud Hoxton.RELEASEHoxton.SR6 with Spring Boot 2.2.0.RELEASE2.2.7.RELEASE (fixed in 2.2.8.RELEASE)

Spring Boot 2.3.0.RELEASE (fixed in 2.3.1.RELEASE)

Remediation options

Upgrade to a Spring Boot version that bundles a safe Tomcat.

Manually override the embedded Tomcat version in the Maven/Gradle build.

Manual Tomcat upgrade examples (Maven)

Spring Cloud Edgware / Spring Boot 1.5.x – Boot cannot be upgraded alone:

<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 – same approach, set tomcat-embed.version to 8.5.56.

Spring Cloud Greenwich / Spring Boot 2.1.x – either upgrade Boot to 2.1.15.RELEASE (includes Tomcat 9.0.36) or manually set:

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

<properties>
    <tomcat-embed.version>9.0.36</tomcat-embed.version>
</properties>
... (dependencyManagement as above) ...

Spring Cloud Hoxton / Spring Boot 2.2.x – upgrade Boot to 2.2.8.RELEASE or set tomcat-embed.version to 9.0.36 using the same dependencyManagement block.

Spring Boot 2.3.x – upgrade to 2.3.1.RELEASE (bundles Tomcat 9.0.36) or manually set tomcat-embed.version to 9.0.36 as shown above.

Reference

Apache security announcement: http://mail-archives.apache.org/mod_mbox/www-announce/202006.mbox/%[email protected]%3E
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Spring BootSpring CloudApache TomcatCVE-2020-11996HTTP/2 DoSTomcat upgrade
Tencent Cloud Middleware
Written by

Tencent Cloud Middleware

Official account of Tencent Cloud Middleware. Focuses on microservices, messaging middleware and other cloud‑native technology trends, publishing product updates, case studies, and technical insights. Regularly hosts tech salons to share effective solutions.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.