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.
{
"versions": [
{
"introduced": "0"
},
{
"last_affected": "8.5.0"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.1"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.2"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.3"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.4"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.5"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.6"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.7"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.8"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.9"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.10"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.11"
},
{
"introduced": "0"
},
{
"last_affected": "8.5.12"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone1"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone10"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone11"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone12"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone13"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone14"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone15"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone16"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone17"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone18"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone2"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone3"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone4"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone5"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone6"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone7"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone8"
},
{
"introduced": "0"
},
{
"last_affected": "9.0.0-milestone9"
}
]
}