CVE Vulnerabilities

CVE-2019-0199

Uncontrolled Resource Consumption

Published: Apr 10, 2019 | Modified: Nov 21, 2024
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
7.5 IMPORTANT
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
MEDIUM

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 APIs blocking I/O, clients were able to cause server-side threads to block eventually leading to thread exhaustion and a DoS.

Weakness

The product does not properly control the allocation and maintenance of a limited resource.

Affected Software

Name Vendor Start Version End Version
Tomcat Apache 8.5.0 (including) 8.5.37 (including)
Tomcat Apache 9.0.1 (including) 9.0.14 (including)
Tomcat Apache 9.0.0-milestone1 (including) 9.0.0-milestone1 (including)
Tomcat Apache 9.0.0-milestone10 (including) 9.0.0-milestone10 (including)
Tomcat Apache 9.0.0-milestone11 (including) 9.0.0-milestone11 (including)
Tomcat Apache 9.0.0-milestone12 (including) 9.0.0-milestone12 (including)
Tomcat Apache 9.0.0-milestone13 (including) 9.0.0-milestone13 (including)
Tomcat Apache 9.0.0-milestone14 (including) 9.0.0-milestone14 (including)
Tomcat Apache 9.0.0-milestone15 (including) 9.0.0-milestone15 (including)
Tomcat Apache 9.0.0-milestone16 (including) 9.0.0-milestone16 (including)
Tomcat Apache 9.0.0-milestone17 (including) 9.0.0-milestone17 (including)
Tomcat Apache 9.0.0-milestone18 (including) 9.0.0-milestone18 (including)
Tomcat Apache 9.0.0-milestone19 (including) 9.0.0-milestone19 (including)
Tomcat Apache 9.0.0-milestone2 (including) 9.0.0-milestone2 (including)
Tomcat Apache 9.0.0-milestone20 (including) 9.0.0-milestone20 (including)
Tomcat Apache 9.0.0-milestone21 (including) 9.0.0-milestone21 (including)
Tomcat Apache 9.0.0-milestone3 (including) 9.0.0-milestone3 (including)
Tomcat Apache 9.0.0-milestone4 (including) 9.0.0-milestone4 (including)
Tomcat Apache 9.0.0-milestone5 (including) 9.0.0-milestone5 (including)
Tomcat Apache 9.0.0-milestone6 (including) 9.0.0-milestone6 (including)
Tomcat Apache 9.0.0-milestone7 (including) 9.0.0-milestone7 (including)
Tomcat Apache 9.0.0-milestone8 (including) 9.0.0-milestone8 (including)
Tomcat Apache 9.0.0-milestone9 (including) 9.0.0-milestone9 (including)
Red Hat JBoss Web Server 5 RedHat tomcat *
Red Hat JBoss Web Server 5.2 on RHEL 6 RedHat jws5-ecj-0:4.12.0-1.redhat_1.1.el6jws *
Red Hat JBoss Web Server 5.2 on RHEL 6 RedHat jws5-javapackages-tools-0:3.4.1-5.15.11.el6jws *
Red Hat JBoss Web Server 5.2 on RHEL 6 RedHat jws5-jboss-logging-0:3.3.2-1.Final_redhat_00001.1.el6jws *
Red Hat JBoss Web Server 5.2 on RHEL 6 RedHat jws5-mod_cluster-0:1.4.1-1.Final_redhat_00001.2.el6jws *
Red Hat JBoss Web Server 5.2 on RHEL 6 RedHat jws5-tomcat-0:9.0.21-10.redhat_4.1.el6jws *
Red Hat JBoss Web Server 5.2 on RHEL 6 RedHat jws5-tomcat-native-0:1.2.21-34.redhat_34.el6jws *
Red Hat JBoss Web Server 5.2 on RHEL 6 RedHat jws5-tomcat-vault-0:1.1.8-1.Final_redhat_1.1.el6jws *
Red Hat JBoss Web Server 5.2 on RHEL 7 RedHat jws5-ecj-0:4.12.0-1.redhat_1.1.el7jws *
Red Hat JBoss Web Server 5.2 on RHEL 7 RedHat jws5-javapackages-tools-0:3.4.1-5.15.11.el7jws *
Red Hat JBoss Web Server 5.2 on RHEL 7 RedHat jws5-jboss-logging-0:3.3.2-1.Final_redhat_00001.1.el7jws *
Red Hat JBoss Web Server 5.2 on RHEL 7 RedHat jws5-mod_cluster-0:1.4.1-1.Final_redhat_00001.2.el7jws *
Red Hat JBoss Web Server 5.2 on RHEL 7 RedHat jws5-tomcat-0:9.0.21-10.redhat_4.1.el7jws *
Red Hat JBoss Web Server 5.2 on RHEL 7 RedHat jws5-tomcat-native-0:1.2.21-34.redhat_34.el7jws *
Red Hat JBoss Web Server 5.2 on RHEL 7 RedHat jws5-tomcat-vault-0:1.1.8-1.Final_redhat_1.1.el7jws *
Red Hat JBoss Web Server 5.2 on RHEL 8 RedHat jws5-ecj-0:4.12.0-1.redhat_1.1.el8jws *
Red Hat JBoss Web Server 5.2 on RHEL 8 RedHat jws5-javapackages-tools-0:3.4.1-5.15.11.el8jws *
Red Hat JBoss Web Server 5.2 on RHEL 8 RedHat jws5-jboss-logging-0:3.3.2-1.Final_redhat_00001.1.el8jws *
Red Hat JBoss Web Server 5.2 on RHEL 8 RedHat jws5-mod_cluster-0:1.4.1-1.Final_redhat_00001.2.el8jws *
Red Hat JBoss Web Server 5.2 on RHEL 8 RedHat jws5-tomcat-0:9.0.21-10.redhat_4.1.el8jws *
Red Hat JBoss Web Server 5.2 on RHEL 8 RedHat jws5-tomcat-native-0:1.2.21-34.redhat_34.el8jws *
Red Hat JBoss Web Server 5.2 on RHEL 8 RedHat jws5-tomcat-vault-0:1.1.8-1.Final_redhat_1.1.el8jws *
Red Hat Runtimes Spring Boot 2.1.12 RedHat tomcat *
Tomcat8 Ubuntu bionic *
Tomcat8 Ubuntu cosmic *
Tomcat8 Ubuntu esm-apps/bionic *
Tomcat8 Ubuntu upstream *
Tomcat9 Ubuntu upstream *

Potential Mitigations

  • Mitigation of resource exhaustion attacks requires that the target system either:

  • The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question.

  • The second solution is simply difficult to effectively institute – and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker.

References