Security advisory
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2017-5650
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 06:14 UTC · Revision 1
Source evidence
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.
osv:CVE-2017-5650
Complete source record
{
"id": "4f0e68c5d4575ce28b728f9fa44ae9298f86607dc85d08bd43018dd0ded4c639",
"url": "https://osv.dev/vulnerability/CVE-2017-5650",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2017-5650",
"summary": "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.",
"evidence": "osv:CVE-2017-5650",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2017-5650",
"aliases": [
"CVE-2017-5650",
"GHSA-9785-w233-x6hv"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/apache/tomcat",
"type": "GIT",
"events": [
{
"introduced": "e37b977db6f47e4380ad67114a49e8568951c953"
},
{
"last_affected": "45f8fd74cdb96490fab8709263a4d862f0d429cf"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.0"
},
{
"last_affected": "8.5.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.1:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.1"
},
{
"last_affected": "8.5.1"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.2:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.2"
},
{
"last_affected": "8.5.2"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.3:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.3"
},
{
"last_affected": "8.5.3"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.4:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.4"
},
{
"last_affected": "8.5.4"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.5:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.5"
},
{
"last_affected": "8.5.5"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.6:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.6"
},
{
"last_affected": "8.5.6"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.7:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.7"
},
{
"last_affected": "8.5.7"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.8:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.8"
},
{
"last_affected": "8.5.8"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.9:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.9"
},
{
"last_affected": "8.5.9"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.10:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.10"
},
{
"last_affected": "8.5.10"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.11:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.11"
},
{
"last_affected": "8.5.11"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:8.5.12:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.5.12"
},
{
"last_affected": "8.5.12"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone1:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone1"
},
{
"last_affected": "9.0.0-milestone1"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone10:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone10"
},
{
"last_affected": "9.0.0-milestone10"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone11:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone11"
},
{
"last_affected": "9.0.0-milestone11"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone12:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone12"
},
{
"last_affected": "9.0.0-milestone12"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone13:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone13"
},
{
"last_affected": "9.0.0-milestone13"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone14:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone14"
},
{
"last_affected": "9.0.0-milestone14"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone15:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone15"
},
{
"last_affected": "9.0.0-milestone15"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone16:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone16"
},
{
"last_affected": "9.0.0-milestone16"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone17:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone17"
},
{
"last_affected": "9.0.0-milestone17"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone18:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone18"
},
{
"last_affected": "9.0.0-milestone18"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone2:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone2"
},
{
"last_affected": "9.0.0-milestone2"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone3:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone3"
},
{
"last_affected": "9.0.0-milestone3"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone4:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone4"
},
{
"last_affected": "9.0.0-milestone4"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone5:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone5"
},
{
"last_affected": "9.0.0-milestone5"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone6:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone6"
},
{
"last_affected": "9.0.0-milestone6"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone7:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone7"
},
{
"last_affected": "9.0.0-milestone7"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone8:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone8"
},
{
"last_affected": "9.0.0-milestone8"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:apache:tomcat:9.0.0:milestone9:*:*:*:*:*:*",
"range": [
{
"introduced": "9.0.0-milestone9"
},
{
"last_affected": "9.0.0-milestone9"
}
],
"source": "CPE_STRING"
}
]
}
}
],
"versions": [
"8.5.0",
"8.5.1",
"8.5.10",
"8.5.11",
"8.5.12",
"8.5.2",
"8.5.3",
"8.5.4",
"8.5.5",
"8.5.6",
"8.5.7",
"8.5.8",
"8.5.9",
"9.0.0-milestone1",
"9.0.0-milestone10",
"9.0.0-milestone11",
"9.0.0-milestone12",
"9.0.0-milestone13",
"9.0.0-milestone14",
"9.0.0-milestone15",
"9.0.0-milestone16",
"9.0.0-milestone17",
"9.0.0-milestone18",
"9.0.0-milestone2",
"9.0.0-milestone3",
"9.0.0-milestone4",
"9.0.0-milestone5",
"9.0.0-milestone6",
"9.0.0-milestone7",
"9.0.0-milestone8",
"9.0.0-milestone9"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2017-5650.json"
}
}
],
"modified": "2026-10-24T10:30:37.121873342Z",
"provider": "osv",
"references": [
"https://lists.apache.org/thread.html/343558d982879bf88ec20dbf707f8c11255f8e219e81d45c4f8d0551%40%3Cdev.tomcat.apache.org%3E",
"https://lists.apache.org/thread.html/6af47120905aa7d8fe12f42e8ff2284fb338ba141d3b77b8c7cb61b3%40%3Cdev.tomcat.apache.org%3E",
"https://lists.apache.org/thread.html/88855876c33f2f9c532ffb75bfee570ccf0b17ffa77493745af9a17a%40%3Cdev.tomcat.apache.org%3E",
"https://lists.apache.org/thread.html/b5e3f51d28cd5d9b1809f56594f2cf63dcd6a90429e16ea9f83bbedc%40%3Cdev.tomcat.apache.org%3E",
"https://lists.apache.org/thread.html/d24303fb095db072740d8154b0f0db3f2b8f67bc91a0562dbe89c738%40%3Cannounce.tomcat.apache.org%3E",
"https://lists.apache.org/thread.html/eb6efa8d59c45a7a9eff94c4b925467d3b3fec8ba7697f3daa314b04%40%3Cdev.tomcat.apache.org%3E",
"https://lists.apache.org/thread.html/r3bbb800a816d0a51eccc5a228c58736960a9fffafa581a225834d97d%40%3Cdev.tomcat.apache.org%3E",
"https://lists.apache.org/thread.html/r48c1444845fe15a823e1374674bfc297d5008a5453788099ea14caf0%40%3Cdev.tomcat.apache.org%3E",
"https://security.gentoo.org/glsa/201705-09",
"https://security.netapp.com/advisory/ntap-20180614-0001/"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2017-5650",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 434150,
"published_at": "2017-04-17T16:59:00.43+00:00"
}