← Vulnerability feed

Vulnerability record · CVE-2019-0199 · published 10 April 2019

CVE-2019-0199: Apache Tomcat HTTP/2 stream handling allows thread exhaustion DoS

Apache · Tomcat

Apache Tomcat's HTTP/2 implementation accepts streams with excessive SETTINGS frames and lets clients hold streams open without sending or reading request/response data. When those streams use the Servlet API's blocking I/O, server-side threads block until the thread pool is exhausted. This is a remote, unauthenticated denial-of-service condition affecting Tomcat 9.0.0.M1 through 9.0.14 and 8.5.0 through 8.5.37.

7.5 CVSS 3.0 High EPSS 73% · top 0.6% CWE-400 · Uncontrolled resource consumption
7.5CVSS 3.0 base score, v2 5.0
73%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
70References
17 Jun 2026Last modified by NVD

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.

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 18 September 2026. Confidence: high.

high priorityRemote, unauthenticated, low-complexity availability impact with a very high EPSS score, though no confirmed in-the-wild exploitation is recorded.

What it is

Apache Tomcat's HTTP/2 implementation accepts streams with excessive SETTINGS frames and lets clients hold streams open without sending or reading request/response data. When those streams use the Servlet API's blocking I/O, server-side threads block until the thread pool is exhausted. This is a remote, unauthenticated denial-of-service condition affecting Tomcat 9.0.0.M1 through 9.0.14 and 8.5.0 through 8.5.37.

Impact

An attacker can exhaust Tomcat's request-processing threads, causing the server to stop serving legitimate requests. There is no confidentiality or integrity impact; the effect is availability loss.

Attack surface

Reachable over the network via HTTP/2 to the Tomcat connector, with no authentication and no user interaction required (CVSS vector AV:N/AC:L/PR:N/UI:N). The attacker only needs to open and hold streams that trigger blocking Servlet I/O.

Exploitation

Not listed in CISA KEV and no reference is tagged as exploit code, but EPSS is 0.72855 (99.4th percentile), indicating a high modeled likelihood of exploitation activity.

What to do

  • Upgrade Apache Tomcat to a release after 9.0.14 or 8.5.37 that contains the HTTP/2 fix.
  • If immediate upgrade is not possible, disable the HTTP/2 connector or restrict HTTP/2 exposure to trusted networks.
  • Apply vendor errata for packaged Tomcat distributions (for example Red Hat RHSA-2019:3929 and RHSA-2019:3931) or the relevant SUSE updates.
  • Tune connector thread pools and HTTP/2 stream limits to reduce the blast radius of stream-holding clients.
  • Monitor and rate-limit clients that open many long-lived HTTP/2 streams.

Detection

  • Alert on sustained growth in busy Tomcat worker threads or thread pool exhaustion events.
  • Monitor for HTTP/2 clients opening many streams that remain open without corresponding request/response data.
  • Track abnormal counts of SETTINGS frames per connection in HTTP/2 traffic.
  • Correlate Tomcat availability degradation with a small number of source IPs holding long-lived streams.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00090.html
http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00013.html
http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00054.html
http://www.securityfocus.com/bid/107674
https://access.redhat.com/errata/RHSA-2019:3929
https://access.redhat.com/errata/RHSA-2019:3931
https://lists.apache.org/thread.html/158ab719cf60448ddbb074798f09152fdb572fc8f781e70a56118d1a%40%3Cdev.tomcat.apache.org
https://lists.apache.org/thread.html/1dd0a59c1295cc08ce4c9e7edae5ad2268acc9ba55adcefa0532e5ba%40%3Cdev.tomcat.apache.org
https://lists.apache.org/thread.html/4c438fa4c78cb1ce8979077f668ab7145baf83e7c59f2faf7eccf094%40%3Cdev.tomcat.apache.org
https://lists.apache.org/thread.html/6af47120905aa7d8fe12f42e8ff2284fb338ba141d3b77b8c7cb61b3%40%3Cdev.tomcat.apache.org
https://lists.apache.org/thread.html/7bb193bc68b28d21ff1c726fd38bea164deb6333b59eec2eb3661da6%40%3Cusers.tomcat.apache.o
https://lists.apache.org/thread.html/88855876c33f2f9c532ffb75bfee570ccf0b17ffa77493745af9a17a%40%3Cdev.tomcat.apache.org
https://lists.apache.org/thread.html/9fe25f98bac6d66f8a663a15c37a98bc2d8f8bbed1d408791a3e4067%40%3Cusers.tomcat.apache.o
https://lists.apache.org/thread.html/a7a201bd23e67fd3326c9b22b814dd0537d3270b3b54a768e2e7ef50%40%3Cdev.tomcat.apache.org
https://lists.apache.org/thread.html/ac0185ce240a711b542a55bccf9349ab0c2f343d70cf7835e08fabc9%40%3Cannounce.apache.org%3
https://lists.apache.org/thread.html/cf4eb2bd2083cebb3602a293c653f9a7faa96c86f672c876f25b37ef%40%3Cannounce.apache.org%3
https://lists.apache.org/thread.html/dddb3590bac28fbe89f69f5ccbe26283d014ddc691abdd042de14600%40%3Cannounce.tomcat.apach
https://lists.apache.org/thread.html/df1a2c1b87c8a6c500ecdbbaf134c7f1491c8d79d98b48c6b9f0fa6a%40%3Cannounce.tomcat.apach
https://lists.apache.org/thread.html/e1b0b273b6e8ddcc72c9023bc2394b1276fc72664144bf21d0a87995%40%3Cannounce.tomcat.apach
https://lists.apache.org/thread.html/e56886e1bac9319ecce81b3612dd7a1a43174a3a741a1c805e16880e%40%3Ccommits.tomee.apache.
https://lists.apache.org/thread.html/e85e83e9954f169bbb77b44baae5a33d8de878df557bb32b7f793661%40%3Cdev.tomcat.apache.org
https://lists.apache.org/thread.html/e87733036e8c84ea648cdcdca3098f3c8a897e2652c33062b2b1535c%40%3Cusers.tomcat.apache.o
https://lists.apache.org/thread.html/r3bbb800a816d0a51eccc5a228c58736960a9fffafa581a225834d97d%40%3Cdev.tomcat.apache.or
https://lists.apache.org/thread.html/r48c1444845fe15a823e1374674bfc297d5008a5453788099ea14caf0%40%3Cdev.tomcat.apache.or
https://lists.apache.org/thread.html/r6ccee4e849bc77df0840c7f853f6bd09d426f6741247da2b7429d5d9%40%3Cdev.tomcat.apache.or
https://lists.apache.org/thread.html/raba0fabaf4d56d4325ab2aca8814f0b30a237ab83d8106b115ee279a%40%3Cdev.tomcat.apache.or
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NPHQEL5AQ6LZSZD2Y6TYZ4R
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZQTZ5BJ5F4KV6N53SGNKSW3
https://seclists.org/bugtraq/2019/Dec/43
https://security.netapp.com/advisory/ntap-20190419-0001/ Third Party Advisory
https://support.f5.com/csp/article/K17321505
https://www.debian.org/security/2019/dsa-4596
https://www.oracle.com/security-alerts/cpuapr2020.html
https://www.oracle.com/security-alerts/cpujan2020.html
https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html
http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00090.html
http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00013.html
http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00054.html
http://www.securityfocus.com/bid/107674
https://access.redhat.com/errata/RHSA-2019:3929

Track CVE-2019-0199 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2020-1938Apache Tomcat AJP connector file read and JSP execution flawApache Tomcat shipped an AJP Connector enabled by default that listened on all configured IP addresses, and Tomcat treats AJP connections as more tru…KEVEPSS 99%analysed9.8CVE-2016-8735Apache Tomcat JmxRemoteLifecycleListener remote code executionApache Tomcat's JmxRemoteLifecycleListener was not updated to match the Oracle CVE-2016-3427 credential-type fix, leaving a deserialization weakness …KEVEPSS 90%analysed8.1CVE-2017-12617Apache Tomcat Default Servlet JSP upload leads to remote code executionApache Tomcat with HTTP PUT enabled (for example, the Default servlet readonly parameter set to false) allows an attacker to upload a JSP file throug…KEVEPSS 100%analysed8.1CVE-2017-12615Apache Tomcat on Windows unrestricted JSP upload via HTTP PUTApache Tomcat 7.0.0 through 7.0.79 on Windows with HTTP PUT enabled (for example, Default servlet readonly set to false) allows an attacker to upload…KEVEPSS 100%analysed7.5CVE-2026-34486Apache Tomcat EncryptInterceptor bypass exposes sensitive dataApache Tomcat contains a missing encryption of sensitive data flaw: the fix for CVE-2026-29146 can be bypassed, allowing the EncryptInterceptor to be…KEVEPSS 6.6%analysed7.5CVE-2023-44487HTTP/2 Rapid Reset stream cancellation denial of serviceThe HTTP/2 protocol permits a client to cancel many streams quickly, and the server's handling of those resets consumes disproportionate resources. T…KEVEPSS 100%analysed9.8CVE-2026-65637Apache tomcat improper input validation vulnerabilityImproper Input Validation vulnerability in Apache Tomcat due to incomplete fix for CVE-2026-32990. This issue affects Apache Tomcat: from 11.0.20 thr…EPSS 0.74%

Source: NIST National Vulnerability Database (record CVE-2019-0199), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.