A variety of Denial of Service vulnerabilities were found in third-party implementations of HTTP/2.
On August 13, researchers at Netflix published an advisory for their GitHub page detailing their discovery of eight vulnerabilities in the HTTP/2 protocol implementations by third parties. The vulnerabilities were primarily discovered by Jonathan Looney, Engineering Manager at Netflix, with one vulnerability, CVE-2019-9518, discovered by Piotr Sikora, Senior Software Engineer at Google.
Image Credit: Cloudflare
A client (“the attacker”) can exploit these HTTP/2 vulnerabilities by sending specially crafted requests to vulnerable servers. While these requests will vary, a vulnerable server will attempt to process the request and attempt to send a response. However, the malicious client ignores the response, leading to excess consumption of resources, which would result in a denial of service (DoS).
The following are the eight vulnerabilities and the associated nicknames given to them in the Netflix advisory.CVE ID Nickname CVE-2019-9511 “Data Dribble” CVE-2019-9512 “Ping Flood” CVE-2019-9513 “Resource Loop” CVE-2019-9514 “Reset Flood” CVE-2019-9515 “Settings Flood” CVE-2019-9516 “0-Length Headers Leak” CVE-2019-9517 “Internal Data Buffering” CVE-2019-9518 “Empty Frames Flood”
Proof of concept
At the time the blog was published, no proof-of-concept code was available.
To immediately address the vulnerabilities, Netflix’s advisory suggests disabling HTTP/2 support, but cautions that this could either result in performance degradation or not be feasible. Software vendors are in the process of publishing patches for these vulnerabilities. Initial reports from vendors can be found below:Vendor Link(s) Source Akamai HTTP2 Vulnerabilities Blog Ambassador (API Gateway) Multiple HTTP/2 vulnerabilities in Envoy Proxy Blog Apache Traffic Server (ATS) [ANNOUNCE] Apache Traffic Server is vulnerable to various HTTP/2 attacks Mailing List Cloudflare On the recent HTTP/2 DoS attacks Blog Envoy (Proxy) Version 1.11.1 History Changelog Google (Golang) [security] Go 1.12.8 and Go 1.11.13 are released Forum Posting Microsoft CVE-2019-9511, CVE-2019-9512, CVE-2019-9513, CVE-2019-9514, CVE-2019-9518 Advisory Netty Project Netty 4.1.39.Final released Blog nghttp2 nghttp2 v1.39.2 Release Notes Software Release Nginx NGINX Updates Mitigate the August 2019 HTTP/2 Vulnerabilities Blog Node.js August 2019 Security Releases Blog Swift About the security content of SwiftNIO HTTP/2 1.5.0 Advisory
Customers using these software applications are encouraged to update to the patched versions as soon as possible.
Identifying affected systems
A list of Tenable plugins to identify these vulnerabilities will appear here as they’re released.
Get more information
Join Tenable's Security Response Team on the Tenable Community.
Learn more about Tenable, the first Cyber Exposure platform for holistic management of your modern attack surface.
Get a free 60-day trial of Tenable.io .