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.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "8.5.39-1ubuntu1~18.04.1", "binary_name": "libtomcat8-embed-java" }, { "binary_version": "8.5.39-1ubuntu1~18.04.1", "binary_name": "libtomcat8-java" }, { "binary_version": "8.5.39-1ubuntu1~18.04.1", "binary_name": "tomcat8" }, { "binary_version": "8.5.39-1ubuntu1~18.04.1", "binary_name": "tomcat8-admin" }, { "binary_version": "8.5.39-1ubuntu1~18.04.1", "binary_name": "tomcat8-common" }, { "binary_version": "8.5.39-1ubuntu1~18.04.1", "binary_name": "tomcat8-docs" }, { "binary_version": "8.5.39-1ubuntu1~18.04.1", "binary_name": "tomcat8-examples" }, { "binary_version": "8.5.39-1ubuntu1~18.04.1", "binary_name": "tomcat8-user" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "9.0.16-3~18.04.1", "binary_name": "libtomcat9-embed-java" }, { "binary_version": "9.0.16-3~18.04.1", "binary_name": "libtomcat9-java" }, { "binary_version": "9.0.16-3~18.04.1", "binary_name": "tomcat9" }, { "binary_version": "9.0.16-3~18.04.1", "binary_name": "tomcat9-admin" }, { "binary_version": "9.0.16-3~18.04.1", "binary_name": "tomcat9-common" }, { "binary_version": "9.0.16-3~18.04.1", "binary_name": "tomcat9-docs" }, { "binary_version": "9.0.16-3~18.04.1", "binary_name": "tomcat9-examples" }, { "binary_version": "9.0.16-3~18.04.1", "binary_name": "tomcat9-user" } ] }