CVE-2024-28182 Reading unbounded number of HTTP/2 CONTINUATION frames to cause excessive CPU usage

Medium 5.3 Published Updated

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:8All versions1.33.0-6.el8_10.1
libnghttp2-devel AlmaLinux:8All versions1.33.0-6.el8_10.1
nghttp2 AlmaLinux:8All versions1.33.0-6.el8_10.1
libnghttp2 AlmaLinux:9All versions1.43.0-5.el9_4.3
libnghttp2-devel AlmaLinux:9All versions1.43.0-5.el9_4.3
nghttp2 AlmaLinux:9All versions1.43.0-5.el9_4.3
libnghttp2 Red Hat:enterprise_linux:8::baseosAll versions0:1.33.0-6.el8_10.1
libnghttp2-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:1.33.0-6.el8_10.1
nghttp2 Red Hat:enterprise_linux:8::baseosAll versions0:1.33.0-6.el8_10.1
nghttp2-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:1.33.0-6.el8_10.1
nghttp2-debugsource Red Hat:enterprise_linux:8::baseosAll versions0:1.33.0-6.el8_10.1
libnghttp2-debuginfo Red Hat:enterprise_linux:8::crbAll versions0:1.33.0-6.el8_10.1
libnghttp2-devel Red Hat:enterprise_linux:8::crbAll versions0:1.33.0-6.el8_10.1
nghttp2 Red Hat:enterprise_linux:8::crbAll versions0:1.33.0-6.el8_10.1
nghttp2-debuginfo Red Hat:enterprise_linux:8::crbAll versions0:1.33.0-6.el8_10.1
nghttp2-debugsource Red Hat:enterprise_linux:8::crbAll versions0:1.33.0-6.el8_10.1
libnghttp2 Red Hat:enterprise_linux:9::baseosAll versions0:1.43.0-5.el9_4.3
libnghttp2-debuginfo Red Hat:enterprise_linux:9::baseosAll versions0:1.43.0-5.el9_4.3
nghttp2 Red Hat:enterprise_linux:9::baseosAll versions0:1.43.0-5.el9_4.3
nghttp2-debuginfo Red Hat:enterprise_linux:9::baseosAll versions0:1.43.0-5.el9_4.3
nghttp2-debugsource Red Hat:enterprise_linux:9::baseosAll versions0:1.43.0-5.el9_4.3
libnghttp2-debuginfo Red Hat:enterprise_linux:9::crbAll versions0:1.43.0-5.el9_4.3
libnghttp2-devel Red Hat:enterprise_linux:9::crbAll versions0:1.43.0-5.el9_4.3
nghttp2 Red Hat:enterprise_linux:9::crbAll versions0:1.43.0-5.el9_4.3
nghttp2-debuginfo Red Hat:enterprise_linux:9::crbAll versions0:1.43.0-5.el9_4.3
nghttp2-debugsource Red Hat:enterprise_linux:9::crbAll versions0:1.43.0-5.el9_4.3
libnghttp2 Red Hat:rhel_aus:8.2::baseosAll versions0:1.33.0-3.el8_2.3
libnghttp2-debuginfo Red Hat:rhel_aus:8.2::baseosAll versions0:1.33.0-3.el8_2.3
nghttp2 Red Hat:rhel_aus:8.2::baseosAll versions0:1.33.0-3.el8_2.3
nghttp2-debuginfo Red Hat:rhel_aus:8.2::baseosAll versions0:1.33.0-3.el8_2.3
nghttp2-debugsource Red Hat:rhel_aus:8.2::baseosAll versions0:1.33.0-3.el8_2.3
libnghttp2 Red Hat:rhel_aus:8.4::baseosAll versions0:1.33.0-4.el8_4.2
libnghttp2-debuginfo Red Hat:rhel_aus:8.4::baseosAll versions0:1.33.0-4.el8_4.2
nghttp2 Red Hat:rhel_aus:8.4::baseosAll versions0:1.33.0-4.el8_4.2
nghttp2-debuginfo Red Hat:rhel_aus:8.4::baseosAll versions0:1.33.0-4.el8_4.2
nghttp2-debugsource Red Hat:rhel_aus:8.4::baseosAll versions0:1.33.0-4.el8_4.2
libnghttp2 Red Hat:rhel_aus:8.6::baseosAll versions0:1.33.0-4.el8_6.2
libnghttp2-debuginfo Red Hat:rhel_aus:8.6::baseosAll versions0:1.33.0-4.el8_6.2
nghttp2 Red Hat:rhel_aus:8.6::baseosAll versions0:1.33.0-4.el8_6.2
nghttp2-debuginfo Red Hat:rhel_aus:8.6::baseosAll versions0: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.

All Debian Debian Linux vulnerabilities

Sources

Also known as ALSA-2024:3501, ALSA-2024:4252, AZL-38719, AZL-38728, AZL-38881, AZL-38995 and 35 more.

Is CVE-2024-28182 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free