CVE-2019-9518: Some HTTP/2 implementations are vulnerable to a flood of empty frames, potentially leading to a denial of service
A flaw was found in HTTP/2. Using frames with an empty payload, a flood could occur that results in excessive CPU usage and starvation of other clients. The highest threat from this vulnerability is to system availability.
Other sources
HTTP/2 flood using frames with an empty payload that results in excessive CPU usage and starvation of other clients.
— Red Hat
Netflix has discovered several resource exhaustion vectors affecting a variety of third-party HTTP/2 implementations. These attack vectors can be used to launch DoS attacks against servers that support HTTP/2 communication. Netflix worked with Google and CERT/CC to coordinate disclosure to the Internet community.
— Node.Js
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 PUSHPROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/rh-nodejs10to a version that resolves this vulnerability.Fixed in 0:3.2-3.el7 - Upgrade
Upgrade
redhat/rh-nodejs10-nodejsto a version that resolves this vulnerability.Fixed in 0:10.16.3-3.el7 - Upgrade
Upgrade
redhat/rh-nodejs8to a version that resolves this vulnerability.Fixed in 0:3.0-5.el7 - Upgrade
Upgrade
redhat/rh-nodejs8-nodejsto a version that resolves this vulnerability.Fixed in 0:8.16.1-2.el7 - Upgrade
Upgrade
debian/trafficserverto a version that resolves this vulnerability.Fixed in 8.1.10+ds-1~deb11u1Fixed in 8.1.11+ds-0+deb11u2Fixed in 9.2.5+ds-0+deb12u1Fixed in 9.2.5+ds-0+deb12u2Fixed in 9.2.5+ds-1 - Upgrade
Upgrade
redhat/envoyto a version that resolves this vulnerability.Fixed in 1.11.1 - Upgrade
Upgrade
redhat/Nodejsto a version that resolves this vulnerability.Fixed in 8.16.1 - Upgrade
Upgrade
redhat/Nodejsto a version that resolves this vulnerability.Fixed in 10.16.3 - Upgrade
Upgrade
redhat/Nodejsto a version that resolves this vulnerability.Fixed in 12.8.1 - Upgrade
Upgrade
redhat/undertowto a version that resolves this vulnerability.Fixed in 2.0.26. - Upgrade
Upgrade
redhat/undertowto a version that resolves this vulnerability.Fixed in 2.0.27. - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 8.16.1Fixed in 10.16.3Fixed in 12.8.1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 10.16.3 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 12.8.1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 8.16.1
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2019-9518?
CVE-2019-9518 is a vulnerability in HTTP/2 that allows for a flood of empty frames, potentially leading to a denial of service.
What is the severity of CVE-2019-9518?
CVE-2019-9518 has a severity level of high, with a severity value of 7.
Which software is affected by CVE-2019-9518?
The affected software includes rh-nodejs10, rh-nodejs10-nodejs, rh-nodejs8, rh-nodejs8-nodejs, envoy, Nodejs, undertow, netty, and trafficserver.
How can CVE-2019-9518 be fixed?
To fix CVE-2019-9518, ensure that you have the latest versions of the affected software installed, as specified in the Remediation section of the references.
Where can I find more information about CVE-2019-9518?
You can find more information about CVE-2019-9518 in the references provided.