CVE-2024-2398 HTTP/2 push headers memory-leak
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:8 | All versions | 7.61.1-34.el8_10.2 |
libcurl AlmaLinux:8 | All versions | 7.61.1-34.el8_10.2 |
libcurl-devel AlmaLinux:8 | All versions | 7.61.1-34.el8_10.2 |
libcurl-minimal AlmaLinux:8 | All versions | 7.61.1-34.el8_10.2 |
curl AlmaLinux:9 | All versions | 7.76.1-29.el9_4.1 |
curl-minimal AlmaLinux:9 | All versions | 7.76.1-29.el9_4.1 |
libcurl AlmaLinux:9 | All versions | 7.76.1-29.el9_4.1 |
libcurl-devel AlmaLinux:9 | All versions | 7.76.1-29.el9_4.1 |
libcurl-minimal AlmaLinux:9 | All versions | 7.76.1-29.el9_4.1 |
curl Red Hat:enterprise_linux:8::baseos | All versions | 0:7.61.1-34.el8_10.2 |
curl-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:7.61.1-34.el8_10.2 |
curl-debugsource Red Hat:enterprise_linux:8::baseos | All versions | 0:7.61.1-34.el8_10.2 |
curl-minimal-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:7.61.1-34.el8_10.2 |
libcurl Red Hat:enterprise_linux:8::baseos | All versions | 0:7.61.1-34.el8_10.2 |
libcurl-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:7.61.1-34.el8_10.2 |
libcurl-devel Red Hat:enterprise_linux:8::baseos | All versions | 0:7.61.1-34.el8_10.2 |
libcurl-minimal Red Hat:enterprise_linux:8::baseos | All versions | 0:7.61.1-34.el8_10.2 |
libcurl-minimal-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:7.61.1-34.el8_10.2 |
curl-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:7.76.1-29.el9_4.1 |
curl-debugsource Red Hat:enterprise_linux:9::appstream | All versions | 0:7.76.1-29.el9_4.1 |
curl-minimal-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:7.76.1-29.el9_4.1 |
libcurl-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:7.76.1-29.el9_4.1 |
libcurl-devel Red Hat:enterprise_linux:9::appstream | All versions | 0:7.76.1-29.el9_4.1 |
libcurl-minimal-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:7.76.1-29.el9_4.1 |
curl Red Hat:enterprise_linux:9::baseos | All versions | 0:7.76.1-29.el9_4.1 |
curl-debuginfo Red Hat:enterprise_linux:9::baseos | All versions | 0:7.76.1-29.el9_4.1 |
curl-debugsource Red Hat:enterprise_linux:9::baseos | All versions | 0:7.76.1-29.el9_4.1 |
curl-minimal Red Hat:enterprise_linux:9::baseos | All versions | 0:7.76.1-29.el9_4.1 |
curl-minimal-debuginfo Red Hat:enterprise_linux:9::baseos | All versions | 0:7.76.1-29.el9_4.1 |
libcurl Red Hat:enterprise_linux:9::baseos | All versions | 0:7.76.1-29.el9_4.1 |
libcurl-debuginfo Red Hat:enterprise_linux:9::baseos | All versions | 0:7.76.1-29.el9_4.1 |
libcurl-minimal Red Hat:enterprise_linux:9::baseos | All versions | 0:7.76.1-29.el9_4.1 |
libcurl-minimal-debuginfo Red Hat:enterprise_linux:9::baseos | All versions | 0:7.76.1-29.el9_4.1 |
curl-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:7.76.1-23.el9_2.7 |
curl-debugsource Red Hat:rhel_eus:9.2::appstream | All versions | 0:7.76.1-23.el9_2.7 |
curl-minimal-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:7.76.1-23.el9_2.7 |
libcurl-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:7.76.1-23.el9_2.7 |
libcurl-devel Red Hat:rhel_eus:9.2::appstream | All versions | 0:7.76.1-23.el9_2.7 |
libcurl-minimal-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:7.76.1-23.el9_2.7 |
curl Red Hat:rhel_eus:9.2::baseos | All versions | 0: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.
Other vulnerabilities in Apple Macos
Sources
Also known as ALPINE-CVE-2024-2398, ALSA-2024:5529, ALSA-2024:5654, AZL-37069, AZL-37078, AZL-37088 and 23 more.