CVE-2020-11996 Uncontrolled Resource Consumption in Apache Tomcat

High 7.5 Published Updated

Attackers can cause Apache Tomcat to become unresponsive by sending crafted HTTP/2 requests that trigger high CPU usage.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2020-11996?

CVE-2020-11996 is a high-severity denial of service vulnerability in Apache Tomcat, published on 26 Jun 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

A specially crafted sequence of HTTP/2 requests sent to Apache Tomcat 10.0.0-M1 to 10.0.0-M5, 9.0.0.M1 to 9.0.35 and 8.5.0 to 8.5.55 could trigger high CPU usage for several seconds. If a sufficient number of such requests were made on concurrent HTTP/2 connections, the server could become unresponsive.

Which versions are affected by CVE-2020-11996?

13 open source packages ship an affected version, including org.apache.tomcat.embed:tomcat-embed-core, tomcat and org.apache.tomcat:tomcat. It affects 8 products.

PackageAffectedFixed in
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 10.0.0-M110.0.0-M5
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 10.0.0-M110.0.0-M5
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 8.5.08.5.55
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 8.5.08.5.55
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 9.0.0.M19.0.35
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 9.0.0.M19.0.35
7 more packages
tomcat BitnamiFrom 8.5.08.5.56, 9.0.36
org.apache.tomcat:tomcat MavenFrom 10.0.0-M110.0.0-M5
org.apache.tomcat:tomcat MavenFrom 10.0.0-M110.0.0-M5
org.apache.tomcat:tomcat MavenFrom 8.5.08.5.55
org.apache.tomcat:tomcat MavenFrom 8.5.08.5.55
org.apache.tomcat:tomcat MavenFrom 9.0.0.M19.0.35
org.apache.tomcat:tomcat MavenFrom 9.0.0.M19.0.35
Linux distribution packages (27)
jws5-jboss-logging Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:3.4.1-1.Final_redhat_00001.1.el6jws
jws5-mod_cluster Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:1.4.2-7.Final_redhat_00002.2.el6jws
jws5-mod_cluster-tomcat Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:1.4.2-7.Final_redhat_00002.2.el6jws
jws5-tomcat Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-tomcat-admin-webapps Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-tomcat-docs-webapp Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-tomcat-el-3.0-api Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-tomcat-javadoc Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-tomcat-jsp-2.3-api Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-tomcat-lib Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-tomcat-native Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:1.2.25-2.redhat_2.el6jws
jws5-tomcat-native-debuginfo Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:1.2.25-2.redhat_2.el6jws
jws5-tomcat-selinux Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-tomcat-servlet-4.0-api Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-tomcat-webapps Red Hat:jboss_enterprise_web_server:5.4::el6All versions0:9.0.36-6.redhat_5.2.el6jws
jws5-jboss-logging Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:3.4.1-1.Final_redhat_00001.1.el7jws
jws5-mod_cluster Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:1.4.2-7.Final_redhat_00002.2.el7jws
jws5-mod_cluster-tomcat Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:1.4.2-7.Final_redhat_00002.2.el7jws
jws5-tomcat Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:9.0.36-6.redhat_5.2.el7jws
jws5-tomcat-admin-webapps Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:9.0.36-6.redhat_5.2.el7jws
jws5-tomcat-docs-webapp Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:9.0.36-6.redhat_5.2.el7jws
jws5-tomcat-el-3.0-api Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:9.0.36-6.redhat_5.2.el7jws
jws5-tomcat-javadoc Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:9.0.36-6.redhat_5.2.el7jws
jws5-tomcat-jsp-2.3-api Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:9.0.36-6.redhat_5.2.el7jws
jws5-tomcat-lib Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:9.0.36-6.redhat_5.2.el7jws
jws5-tomcat-native Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:1.2.25-2.redhat_2.el7jws
jws5-tomcat-native-debuginfo Red Hat:jboss_enterprise_web_server:5.4::el7All versions0:1.2.25-2.redhat_2.el7jws

Products include Apache Tomcat, Canonical Ubuntu Linux, Debian Debian Linux, Netapp Oncommand System Manager, Opensuse Leap, Oracle Mysql Enterprise Monitor and 2 more.

How do I fix CVE-2020-11996?

Upgrade org.apache.tomcat.embed:tomcat-embed-core to a fixed version for your release line: 10.0.0-M5, 8.5.55 or 9.0.35.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2020-11996 being exploited?

There is no known exploitation of CVE-2020-11996 in the wild and no public exploit code.

Public exploit code: 1 proofs of concept on GitHub.

All Apache Tomcat vulnerabilities

Sources

Also known as BIT-tomcat-2020-11996, DEBIAN-CVE-2020-11996, GHSA-53hp-jpwq-2jgq, RHSA-2020:5170, SUSE-SU-2020:1841-1, SUSE-SU-2020:1962-1 and 5 more.

Is CVE-2020-11996 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free