CVE-2024-2398 HTTP/2 push headers memory-leak

High 8.6 Published Updated

A memory leak in libcurl when aborting HTTP/2 server push due to header limits can lead to resource exhaustion and denial of service.

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-2398?

CVE-2024-2398 is a high-severity denial of service vulnerability in Apple Macos, published on 27 Mar 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

When an application tells libcurl it wants to allow HTTP/2 server push, and the amount of received headers for the push surpasses the maximum allowed limit (1000), libcurl aborts the server push. When aborting, libcurl inadvertently does not free all the previously allocated headers and instead leaks the memory. Further, this error condition fails silently and is therefore not easily detected by an application.

Weakness: CWE-772

Which versions are affected by CVE-2024-2398?

It affects 14 products.

Linux distribution packages (40)
curl AlmaLinux:8All versions7.61.1-34.el8_10.2
libcurl AlmaLinux:8All versions7.61.1-34.el8_10.2
libcurl-devel AlmaLinux:8All versions7.61.1-34.el8_10.2
libcurl-minimal AlmaLinux:8All versions7.61.1-34.el8_10.2
curl AlmaLinux:9All versions7.76.1-29.el9_4.1
curl-minimal AlmaLinux:9All versions7.76.1-29.el9_4.1
libcurl AlmaLinux:9All versions7.76.1-29.el9_4.1
libcurl-devel AlmaLinux:9All versions7.76.1-29.el9_4.1
libcurl-minimal AlmaLinux:9All versions7.76.1-29.el9_4.1
curl Red Hat:enterprise_linux:8::baseosAll versions0:7.61.1-34.el8_10.2
curl-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:7.61.1-34.el8_10.2
curl-debugsource Red Hat:enterprise_linux:8::baseosAll versions0:7.61.1-34.el8_10.2
curl-minimal-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:7.61.1-34.el8_10.2
libcurl Red Hat:enterprise_linux:8::baseosAll versions0:7.61.1-34.el8_10.2
libcurl-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:7.61.1-34.el8_10.2
libcurl-devel Red Hat:enterprise_linux:8::baseosAll versions0:7.61.1-34.el8_10.2
libcurl-minimal Red Hat:enterprise_linux:8::baseosAll versions0:7.61.1-34.el8_10.2
libcurl-minimal-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:7.61.1-34.el8_10.2
curl-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:7.76.1-29.el9_4.1
curl-debugsource Red Hat:enterprise_linux:9::appstreamAll versions0:7.76.1-29.el9_4.1
curl-minimal-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:7.76.1-29.el9_4.1
libcurl-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:7.76.1-29.el9_4.1
libcurl-devel Red Hat:enterprise_linux:9::appstreamAll versions0:7.76.1-29.el9_4.1
libcurl-minimal-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:7.76.1-29.el9_4.1
curl Red Hat:enterprise_linux:9::baseosAll versions0:7.76.1-29.el9_4.1
curl-debuginfo Red Hat:enterprise_linux:9::baseosAll versions0:7.76.1-29.el9_4.1
curl-debugsource Red Hat:enterprise_linux:9::baseosAll versions0:7.76.1-29.el9_4.1
curl-minimal Red Hat:enterprise_linux:9::baseosAll versions0:7.76.1-29.el9_4.1
curl-minimal-debuginfo Red Hat:enterprise_linux:9::baseosAll versions0:7.76.1-29.el9_4.1
libcurl Red Hat:enterprise_linux:9::baseosAll versions0:7.76.1-29.el9_4.1
libcurl-debuginfo Red Hat:enterprise_linux:9::baseosAll versions0:7.76.1-29.el9_4.1
libcurl-minimal Red Hat:enterprise_linux:9::baseosAll versions0:7.76.1-29.el9_4.1
libcurl-minimal-debuginfo Red Hat:enterprise_linux:9::baseosAll versions0:7.76.1-29.el9_4.1
curl-debuginfo Red Hat:rhel_eus:9.2::appstreamAll versions0:7.76.1-23.el9_2.7
curl-debugsource Red Hat:rhel_eus:9.2::appstreamAll versions0:7.76.1-23.el9_2.7
curl-minimal-debuginfo Red Hat:rhel_eus:9.2::appstreamAll versions0:7.76.1-23.el9_2.7
libcurl-debuginfo Red Hat:rhel_eus:9.2::appstreamAll versions0:7.76.1-23.el9_2.7
libcurl-devel Red Hat:rhel_eus:9.2::appstreamAll versions0:7.76.1-23.el9_2.7
libcurl-minimal-debuginfo Red Hat:rhel_eus:9.2::appstreamAll versions0:7.76.1-23.el9_2.7
curl Red Hat:rhel_eus:9.2::baseosAll versions0:7.76.1-23.el9_2.7

Products include Apple Macos, Fedoraproject Fedora, Haxx Curl, Netapp Active Iq Unified Manager, Netapp Bootstrap Os, Netapp Brocade Fabric Operating System and 8 more.

How do I fix CVE-2024-2398?

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-2398 being exploited?

There is no known exploitation of CVE-2024-2398 in the wild and no public exploit code.

All Apple Macos vulnerabilities

Sources

Also known as ALPINE-CVE-2024-2398, ALSA-2024:5529, ALSA-2024:5654, AZL-37069, AZL-37078, AZL-37088 and 23 more.

Is CVE-2024-2398 in your software?

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

Check your SBOMs for free