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