In August 2019, multiple HTTP/2 Denial of Service (DoS) vulnerabilities were disclosed . The following vulnerabilities may affect the HTTP/2 data plane of ACOS devices and are addressed in this document.
|Item #||Vulnerability ID||Score Source||Score||Summary|
|1||CVE-2019-9512||CVSS 3.0||7.5 High||HTTP/2: flood using PING frames results in unbounded memory growth (Ping Flood) |
|2||CVE-2019-9514||CVSS 3.0||7.5 High||HTTP/2: flood using HEADERS frames results in unbounded memory growth (Reset Flood) |
|3||CVE-2019-9515||CVSS 3.0||7.5 High||HTTP/2: flood using SETTINGS frames results in unbounded memory growth (Settings Flood) |
|4||CVE-2019-9518||CVSS 3.0||7.5 High||HTTP/2: flood using empty frames results in excessive resources consumption (Empty Frames Flood) |
The table below indicates releases of ACOS exposed to these vulnerabilities and ACOS releases that address these issues or are otherwise unaffected by them.
Customers using affected ACOS releases can overcome vulnerability exposures by updating to the indicated resolved release. If the table does not list a corresponding resolved or unaffected release, then no ACOS release update is currently available.
|Releases Affected||Releases Resolved or Unaffected|
|5.0.0 – 5.0.0||5.0.0-P1|
|4.1.4 – 4.1.4-GR1-P2||4.1.4-GR1-P3|
Software updates that address these vulnerabilities are or will be published at the following URL:
The following table shares brief descriptions of the vulnerabilities addressed in this document.
|Vulnerability ID||Vulnerability Description|
Some HTTP/2 implementations are vulnerable to ping floods, potentially leading to a denial of service. The attacker sends continual pings to an HTTP/2 peer, causing the peer to build an internal queue of responses. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both.
Some HTTP/2 implementations are vulnerable to a reset flood, potentially leading to a denial of service. The attacker opens a number of streams and sends an invalid request over each stream that should solicit a stream of RST_STREAM frames from the peer. Depending on how the peer queues the RST_STREAM frames, this can consume excess memory, CPU, or both.
Some HTTP/2 implementations are vulnerable to a settings flood, potentially leading to a denial of service. The attacker sends a stream of SETTINGS frames to the peer. Since the RFC requires that the peer reply with one acknowledgement per SETTINGS frame, an empty SETTINGS frame is almost equivalent in behavior to a ping. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both.
Some HTTP/2 implementations are vulnerable to a flood of empty frames, potentially leading to a denial of service. The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU.
The following table shares brief descriptions for the vulnerabilities addressed in this document.
|Ref #||General Link|
|||Netflix HTTP/2 Denial of Service Advisory|
|||NIST NVD, CVE-2019-9512|
|||NIST NVD, CVE-2019-9514|
|||NIST NVD, CVE-2019-9515|
|||NIST NVD, CVE-2019-9518|
|1.0||October 18, 2019||
© Copyright 2019 A10 Networks, Inc. All Rights Reserved.
This document is provided on an "AS IS" basis and does not imply any kind of guarantee or warranty, including the warranties of merchantability, non-infringement or fitness for a particular use. Your use of the information in this document or materials linked from this document is at your own risk. A10 Networks, Inc. reserves the right to change or update the information in this document at any time.