Name | CVE-2020-11080 |
Description | 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. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DLA-2786-1, DLA-3621-1, DSA-4696-1, ELA-490-1 |
Debian Bugs | 962145 |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
nghttp2 (PTS) | jessie, jessie (lts) | 0.6.4-2+deb8u1 | fixed |
stretch (security) | 1.18.1-1+deb9u2 | fixed | |
stretch (lts), stretch | 1.18.1-1+deb9u4 | fixed | |
buster (security), buster, buster (lts) | 1.36.0-2+deb10u3 | fixed | |
bullseye | 1.43.0-1+deb11u1 | fixed | |
bullseye (security) | 1.43.0-1+deb11u2 | fixed | |
bookworm (security), bookworm | 1.52.0-1+deb12u1 | fixed | |
sid, trixie | 1.64.0-1 | fixed | |
nodejs (PTS) | jessie | 0.10.29~dfsg-2 | vulnerable |
stretch | 4.8.2~dfsg-1 | vulnerable | |
buster (security), buster, buster (lts) | 10.24.0~dfsg-1~deb10u4 | fixed | |
bullseye | 12.22.12~dfsg-1~deb11u4 | fixed | |
bullseye (security) | 12.22.12~dfsg-1~deb11u5 | fixed | |
bookworm | 18.19.0+dfsg-6~deb12u2 | fixed | |
bookworm (security) | 18.19.0+dfsg-6~deb12u1 | fixed | |
sid, trixie | 20.17.0+dfsg-2 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
nghttp2 | source | jessie | 0.6.4-2+deb8u1 | ELA-490-1 | ||
nghttp2 | source | stretch | 1.18.1-1+deb9u2 | DLA-2786-1 | ||
nghttp2 | source | buster | 1.36.0-2+deb10u2 | DLA-3621-1 | ||
nghttp2 | source | (unstable) | 1.41.0-1 | |||
nodejs | source | jessie | (unfixed) | end-of-life | ||
nodejs | source | buster | 10.21.0~dfsg-1~deb10u1 | DSA-4696-1 | ||
nodejs | source | (unstable) | 10.21.0~dfsg-1 | 962145 |
[stretch] - nodejs <ignored> (Nodejs in stretch not covered by security support)
[jessie] - nodejs <end-of-life> (Nodejs in jessie not covered by security support)
https://github.com/nghttp2/nghttp2/security/advisories/GHSA-q5wr-xfw9-q7xr
https://github.com/nghttp2/nghttp2/commit/336a98feb0d56b9ac54e12736b18785c27f75090 (v1.41.0)
https://github.com/nghttp2/nghttp2/commit/f8da73bd042f810f34d19f9eae02b46d870af394 (v1.41.0)
https://nodejs.org/en/blog/vulnerability/june-2020-security-releases/#http-2-large-settings-frame-dos-low-cve-2020-11080