Denial of service in nghttp2
CVE-2020-11080 is fixed in 16 products on 2 platforms, first by libnghttp2-14 1.30.0-1ubuntu1+esm1, released June 3, 2020. It is not reported as exploited. Patch Radar priority: High.
In nghttp2 before version 1.41.0, the overly large HTTP/2 SETTINGS frame payload causes denial of service. The proof of concept attack involves a malicious client constructing a SETTINGS frame with a length of 14,400 bytes (2400 individual settings entries) over and over again. The attack causes the CPU to spike at 100%. nghttp2 v1.41.0 fixes this vulnerability. There is a workaround to this vulnerability. Implement nghttp2_on_frame_recv_callback callback, and if received frame is SETTINGS frame and the number of settings entries are large (e.g., > 32), then drop the connection.
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Windows apps | |||
| Node.js 10 | 10.23.2 | Node.js 10 10.23.2 | Jan 26, 2021 |
| Node.js 14 | 14.5.0 | Node.js 14 14.5.0 | Jun 30, 2020 |
| Linux | |||
| libnghttp2 · RHEL 8 | 0:1.33.0-3.el8_2.1 | RHSA-2020:2755 | Jun 25, 2020 |
| libnghttp2 · ol 8 | 0:1.33.0-3.el8_2.1 | ELSA-2020-2755 | Jul 6, 2020 |
| libnghttp2-14 · Ubuntu 18.04.6 LTS (bionic) | 1.30.0-1ubuntu1+esm1 | libnghttp2-14 1.30.0-1ubuntu1+esm1 | Jun 3, 2020 |
| libnghttp2-14 · Ubuntu 20.04 LTS (focal) | 1.40.0-1ubuntu0.1 | libnghttp2-14 1.40.0-1ubuntu0.1 | Jun 3, 2020 |
| libnghttp2-devel · RHEL 8 | 0:1.33.0-3.el8_2.1 | RHSA-2020:2755 | Jun 25, 2020 |
| libnghttp2-devel · ol 8 | 0:1.33.0-3.el8_2.1 | ELSA-2020-2755 | Jul 6, 2020 |
| nghttp2 · RHEL 8 | 0:1.33.0-3.el8_2.1 | RHSA-2020:2755 | Jun 25, 2020 |
| nghttp2 · Ubuntu 18.04.6 LTS (bionic) | 1.30.0-1ubuntu1+esm1 | nghttp2 1.30.0-1ubuntu1+esm1 | Jun 3, 2020 |
| nghttp2 · Ubuntu 20.04 LTS (focal) | 1.40.0-1ubuntu0.1 | nghttp2 1.40.0-1ubuntu0.1 | Jun 3, 2020 |
| nghttp2 · ol 8 | 0:1.33.0-3.el8_2.1 | ELSA-2020-2755 | Jul 6, 2020 |
| nghttp2-client · Ubuntu 18.04.6 LTS (bionic) | 1.30.0-1ubuntu1+esm1 | nghttp2-client 1.30.0-1ubuntu1+esm1 | Jun 3, 2020 |
| nghttp2-client · Ubuntu 20.04 LTS (focal) | 1.40.0-1ubuntu0.1 | nghttp2-client 1.40.0-1ubuntu0.1 | Jun 3, 2020 |
| nghttp2-proxy · Ubuntu 18.04.6 LTS (bionic) | 1.30.0-1ubuntu1+esm1 | nghttp2-proxy 1.30.0-1ubuntu1+esm1 | Jun 3, 2020 |
| nghttp2-proxy · Ubuntu 20.04 LTS (focal) | 1.40.0-1ubuntu0.1 | nghttp2-proxy 1.40.0-1ubuntu0.1 | Jun 3, 2020 |
| nghttp2-server · Ubuntu 18.04.6 LTS (bionic) | 1.30.0-1ubuntu1+esm1 | nghttp2-server 1.30.0-1ubuntu1+esm1 | Jun 3, 2020 |
| nghttp2-server · Ubuntu 20.04 LTS (focal) | 1.40.0-1ubuntu0.1 | nghttp2-server 1.40.0-1ubuntu0.1 | Jun 3, 2020 |
| nodejs · RHEL 8 | 1:12.18.2-1.module+el8.2.0+7233+61d664c1 | RHSA-2020:2852 | Jul 7, 2020 |
| nodejs · ol 8 | 1:10.21.0-3.module+el8.2.0+7635+4ebb0540 | ELSA-2020-2848 | Jul 14, 2020 |
| nodejs-devel · RHEL 8 | 1:12.18.2-1.module+el8.2.0+7233+61d664c1 | RHSA-2020:2852 | Jul 7, 2020 |
| nodejs-devel · ol 8 | 1:10.21.0-3.module+el8.2.0+7635+4ebb0540 | ELSA-2020-2848 | Jul 14, 2020 |
| nodejs-docs · RHEL 8 | 1:12.18.2-1.module+el8.2.0+7233+61d664c1 | RHSA-2020:2852 | Jul 7, 2020 |
| nodejs-docs · ol 8 | 1:10.21.0-3.module+el8.2.0+7635+4ebb0540 | ELSA-2020-2848 | Jul 14, 2020 |
| nodejs-full-i18n · RHEL 8 | 1:12.18.2-1.module+el8.2.0+7233+61d664c1 | RHSA-2020:2852 | Jul 7, 2020 |
| nodejs-full-i18n · ol 8 | 1:10.21.0-3.module+el8.2.0+7635+4ebb0540 | ELSA-2020-2848 | Jul 14, 2020 |
| nodejs-nodemon · RHEL 8 | 0:1.18.3-1.module+el8.1.0+3369+37ae6a45 | RHSA-2020:2852 | Jul 7, 2020 |
| nodejs-nodemon · ol 8 | 0:1.18.3-1.module+el8.1.0+5392+4d6b561f | ELSA-2020-2848 | Jul 14, 2020 |
| nodejs-packaging · RHEL 8 | 0:17-3.module+el8.1.0+3369+37ae6a45 | RHSA-2020:2852 | Jul 7, 2020 |
| nodejs-packaging · ol 8 | 0:17-3.module+el8.1.0+5392+4d6b561f | ELSA-2020-2848 | Jul 14, 2020 |
| npm · RHEL 8 | 1:6.14.5-1.12.18.2.1.module+el8.2.0+7233+61d664c1 | RHSA-2020:2852 | Jul 7, 2020 |
| npm · ol 8 | 1:6.14.4-1.10.21.0.3.module+el8.2.0+7635+4ebb0540 | ELSA-2020-2848 | Jul 14, 2020 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.