CVE Vulnerabilities

CVE-2017-5650

Improper Resource Shutdown or Release

Published: Apr 17, 2017 | 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

In Apache Tomcat 9.0.0.M1 to 9.0.0.M18 and 8.5.0 to 8.5.12, the handling of an HTTP/2 GOAWAY frame for a connection did not close streams associated with that connection that were currently waiting for a WINDOW_UPDATE before allowing the application to write more data. These waiting streams each consumed a thread. A malicious client could therefore construct a series of HTTP/2 requests that would consume all available processing threads.

Weakness

The product does not release or incorrectly releases a resource before it is made available for re-use.

Affected Software

Name Vendor Start Version End Version
Tomcat Apache 8.5.0 (including) 8.5.0 (including)
Tomcat Apache 8.5.1 (including) 8.5.1 (including)
Tomcat Apache 8.5.2 (including) 8.5.2 (including)
Tomcat Apache 8.5.3 (including) 8.5.3 (including)
Tomcat Apache 8.5.4 (including) 8.5.4 (including)
Tomcat Apache 8.5.5 (including) 8.5.5 (including)
Tomcat Apache 8.5.6 (including) 8.5.6 (including)
Tomcat Apache 8.5.7 (including) 8.5.7 (including)
Tomcat Apache 8.5.8 (including) 8.5.8 (including)
Tomcat Apache 8.5.9 (including) 8.5.9 (including)
Tomcat Apache 8.5.10 (including) 8.5.10 (including)
Tomcat Apache 8.5.11 (including) 8.5.11 (including)
Tomcat Apache 8.5.12 (including) 8.5.12 (including)
Tomcat8 Ubuntu upstream *

Potential Mitigations

  • Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
  • For example, languages such as Java, Ruby, and Lisp perform automatic garbage collection that releases memory for objects that have been deallocated.

References