CVE-2024-28182 Reading unbounded number of HTTP/2 CONTINUATION frames to cause excessive CPU usage
Attackers can cause excessive CPU usage and denial of service by sending unbounded HTTP/2 CONTINUATION frames to applications using the nghttp2 library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-28182?
CVE-2024-28182 is a medium-severity denial of service vulnerability in Debian Debian Linux, published on 4 Apr 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
nghttp2 is an implementation of the Hypertext Transfer Protocol version 2 in C. The nghttp2 library prior to version 1.61.0 keeps reading the unbounded number of HTTP/2 CONTINUATION frames even after a stream is reset to keep HPACK context in sync. This causes excessive CPU usage to decode HPACK stream. nghttp2 v1.61.0 mitigates this vulnerability by limiting the number of CONTINUATION frames it accepts per stream. There is no workaround for this vulnerability.
Weakness: CWE-770
Which versions are affected by CVE-2024-28182?
It affects 3 products.
Linux distribution packages (40)
libnghttp2 AlmaLinux:8 | All versions | 1.33.0-6.el8_10.1 |
libnghttp2-devel AlmaLinux:8 | All versions | 1.33.0-6.el8_10.1 |
nghttp2 AlmaLinux:8 | All versions | 1.33.0-6.el8_10.1 |
libnghttp2 AlmaLinux:9 | All versions | 1.43.0-5.el9_4.3 |
libnghttp2-devel AlmaLinux:9 | All versions | 1.43.0-5.el9_4.3 |
nghttp2 AlmaLinux:9 | All versions | 1.43.0-5.el9_4.3 |
libnghttp2 Red Hat:enterprise_linux:8::baseos | All versions | 0:1.33.0-6.el8_10.1 |
libnghttp2-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:1.33.0-6.el8_10.1 |
nghttp2 Red Hat:enterprise_linux:8::baseos | All versions | 0:1.33.0-6.el8_10.1 |
nghttp2-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:1.33.0-6.el8_10.1 |
nghttp2-debugsource Red Hat:enterprise_linux:8::baseos | All versions | 0:1.33.0-6.el8_10.1 |
libnghttp2-debuginfo Red Hat:enterprise_linux:8::crb | All versions | 0:1.33.0-6.el8_10.1 |
libnghttp2-devel Red Hat:enterprise_linux:8::crb | All versions | 0:1.33.0-6.el8_10.1 |
nghttp2 Red Hat:enterprise_linux:8::crb | All versions | 0:1.33.0-6.el8_10.1 |
nghttp2-debuginfo Red Hat:enterprise_linux:8::crb | All versions | 0:1.33.0-6.el8_10.1 |
nghttp2-debugsource Red Hat:enterprise_linux:8::crb | All versions | 0:1.33.0-6.el8_10.1 |
libnghttp2 Red Hat:enterprise_linux:9::baseos | All versions | 0:1.43.0-5.el9_4.3 |
libnghttp2-debuginfo Red Hat:enterprise_linux:9::baseos | All versions | 0:1.43.0-5.el9_4.3 |
nghttp2 Red Hat:enterprise_linux:9::baseos | All versions | 0:1.43.0-5.el9_4.3 |
nghttp2-debuginfo Red Hat:enterprise_linux:9::baseos | All versions | 0:1.43.0-5.el9_4.3 |
nghttp2-debugsource Red Hat:enterprise_linux:9::baseos | All versions | 0:1.43.0-5.el9_4.3 |
libnghttp2-debuginfo Red Hat:enterprise_linux:9::crb | All versions | 0:1.43.0-5.el9_4.3 |
libnghttp2-devel Red Hat:enterprise_linux:9::crb | All versions | 0:1.43.0-5.el9_4.3 |
nghttp2 Red Hat:enterprise_linux:9::crb | All versions | 0:1.43.0-5.el9_4.3 |
nghttp2-debuginfo Red Hat:enterprise_linux:9::crb | All versions | 0:1.43.0-5.el9_4.3 |
nghttp2-debugsource Red Hat:enterprise_linux:9::crb | All versions | 0:1.43.0-5.el9_4.3 |
libnghttp2 Red Hat:rhel_aus:8.2::baseos | All versions | 0:1.33.0-3.el8_2.3 |
libnghttp2-debuginfo Red Hat:rhel_aus:8.2::baseos | All versions | 0:1.33.0-3.el8_2.3 |
nghttp2 Red Hat:rhel_aus:8.2::baseos | All versions | 0:1.33.0-3.el8_2.3 |
nghttp2-debuginfo Red Hat:rhel_aus:8.2::baseos | All versions | 0:1.33.0-3.el8_2.3 |
nghttp2-debugsource Red Hat:rhel_aus:8.2::baseos | All versions | 0:1.33.0-3.el8_2.3 |
libnghttp2 Red Hat:rhel_aus:8.4::baseos | All versions | 0:1.33.0-4.el8_4.2 |
libnghttp2-debuginfo Red Hat:rhel_aus:8.4::baseos | All versions | 0:1.33.0-4.el8_4.2 |
nghttp2 Red Hat:rhel_aus:8.4::baseos | All versions | 0:1.33.0-4.el8_4.2 |
nghttp2-debuginfo Red Hat:rhel_aus:8.4::baseos | All versions | 0:1.33.0-4.el8_4.2 |
nghttp2-debugsource Red Hat:rhel_aus:8.4::baseos | All versions | 0:1.33.0-4.el8_4.2 |
libnghttp2 Red Hat:rhel_aus:8.6::baseos | All versions | 0:1.33.0-4.el8_6.2 |
libnghttp2-debuginfo Red Hat:rhel_aus:8.6::baseos | All versions | 0:1.33.0-4.el8_6.2 |
nghttp2 Red Hat:rhel_aus:8.6::baseos | All versions | 0:1.33.0-4.el8_6.2 |
nghttp2-debuginfo Red Hat:rhel_aus:8.6::baseos | All versions | 0:1.33.0-4.el8_6.2 |
Products include Debian Debian Linux, Fedoraproject Fedora, Nghttp2 Nghttp2.
How do I fix CVE-2024-28182?
Upgrade to a fixed version.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2024-28182 being exploited?
There is no known exploitation of CVE-2024-28182 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as ALSA-2024:3501, ALSA-2024:4252, AZL-38719, AZL-38728, AZL-38881, AZL-38995 and 35 more.