Allele Security Alert
Excessive memory usage in HTTP/2 with zero length headers
nginx versions since 1.9.5 up to and including 1.17.2
nginx version 1.17.3
nginx version 1.16.1
Proof of concept
Several security issues were identified in nginx HTTP/2 implementation, which might cause excessive memory consumption and CPU usage (CVE-2019-9511, CVE-2019-9513, CVE-2019-9516).
The issues affect nginx compiled with the ngx_http_v2_module (not compiled by default) if the “http2” option of the “listen” directive is used in a configuration file.
The attacker sends a stream of headers with a 0-length header name and 0-length header value, optionally Huffman encoded into 1-byte or greater headers. Some implementations allocate memory for these headers and keep the allocation alive until the session dies. This can consume excess memory, potentially leading to a denial of service.
Jonathan Looney (Netflix)
nginx security advisories
[nginx-announce] nginx security advisory (CVE-2019-9511, CVE-2019-9513, CVE-2019-9516)
HTTP/2 Denial of Service Advisory
Bug 1741864 (CVE-2019-9516) – CVE-2019-9516 HTTP/2: 0-length headers leads to denial of service [NEEDINFO]
NGINX Updates Mitigate the August 2019 HTTP/2 Vulnerabilities
HTTP/2: reject zero length headers with PROTOCOL_ERROR.
CVE-2019-9516 - Red Hat Customer Portal
CVE-2019-9516 | SUSE
If there is any error in this alert or you wish a comprehensive analysis, let us know.
Last modified: August 25, 2019