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.
{
"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"
}