CVE Vulnerabilities

CVE-2017-5650

Improper Resource Shutdown or Release

Published: Apr 17, 2017 | Modified: Dec 08, 2023
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
Ubuntu

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)

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