ArchLinux: 201908-12: nginx-mainline: denial of service
Summary
- CVE-2019-9511 (denial of service)
An issue has been found in several HTTP/2 implementations, where the
attacker requests a large amount of data from a specified resource over
multiple streams. They manipulate window size and stream priority to
force the server to queue the data in 1-byte chunks. Depending on how
efficiently this data is queued, this can consume excess CPU, memory,
or both, potentially leading to a denial of service.
- CVE-2019-9513 (denial of service)
An issue has been found in several HTTP/2 implementations, where the
attacker creates multiple request streams and continually shuffles the
priority of the streams in a way that causes substantial churn to the
priority tree. This can consume excess CPU, potentially leading to a
denial of service.
- CVE-2019-9516 (denial of service)
An issue has been found in several HTTP/2 implementations, where 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 headersand keep the allocation alive until the session dies. This can consume
excess memory, potentially leading to a denial of service.
Resolution
Upgrade to 1.17.3-1.
# pacman -Syu "nginx-mainline>=1.17.3-1"
The problems have been fixed upstream in version 1.17.3.
References
https://mailman.nginx.org/pipermail/nginx-announce/2019/000249.html https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md https://github.com/nginx/nginx/commit/a987f81dd19210bc30b62591db331e31d3d74089 https://github.com/nginx/nginx/commit/5ae726912654da10a9a81b2c8436829f3e94f69f https://github.com/nginx/nginx/commit/6dfbc8b1c2116f362bb871efebbf9df576738e89 https://security.archlinux.org/CVE-2019-9511 https://security.archlinux.org/CVE-2019-9513 https://security.archlinux.org/CVE-2019-9516
Workaround
Disable http/2 support.