CVE-2019-0199 Apache Tomcat Denial of Service vulnerability

High 7.5 Published Updated

Attackers can cause thread exhaustion and denial of service in Apache Tomcat by sending excessive HTTP/2 SETTINGS frames and keeping streams open.

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

What is CVE-2019-0199?

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

Official description

The HTTP/2 implementation in Apache Tomcat 9.0.0.M1 to 9.0.14 and 8.5.0 to 8.5.37 accepted streams with excessive numbers of SETTINGS frames and also permitted clients to keep streams open without reading/writing request/response data. By keeping streams open for requests that utilised the Servlet API's blocking I/O, clients were able to cause server-side threads to block eventually leading to thread exhaustion and a DoS.

Weakness: CWE-400

Which versions are affected by CVE-2019-0199?

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

PackageAffectedFixed in
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 8.0.08.5.38
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 8.0.08.5.38
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 9.0.09.0.16
org.apache.tomcat.embed:tomcat-embed-core MavenFrom 9.0.09.0.16
org.apache.tomcat:tomcat-coyote MavenFrom 8.0.08.5.38
org.apache.tomcat:tomcat-coyote MavenFrom 8.0.08.5.38
2 more packages
org.apache.tomcat:tomcat-coyote MavenFrom 9.0.09.0.16
org.apache.tomcat:tomcat-coyote MavenFrom 9.0.09.0.16
Linux distribution packages (2)
tomcat SUSE:Linux Enterprise Module for Web and Scripting 15All versions9.0.21-3.27.1
tomcat openSUSE:Leap 15.0All versions9.0.21-lp150.2.22.1

Products include Apache Tomcat.

How do I fix CVE-2019-0199?

Upgrade org.apache.tomcat.embed:tomcat-embed-core to a fixed version for your release line: 8.5.38 or 9.0.16.

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-2019-0199 being exploited?

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

All Apache Tomcat vulnerabilities

Sources

Also known as DEBIAN-CVE-2019-0199, GHSA-qcxh-w3j9-58qr, SUSE-SU-2019:1825-1, UBUNTU-CVE-2019-0199, openSUSE-SU-2019:1723-1.

Is CVE-2019-0199 in your software?

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

Check your SBOMs for free