---
id: CVE-2024-2398
title: >-
  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
summary: >-
  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…
severity: high
cvss: 8.6
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L'
cwe:
  - CWE-772
vendor: haxx
product: curl
affected:
  - 'curl >= 7.44.0, < 8.7.0'
  - macos < 12.7.6
  - 'macos >= 13.0, < 13.6.8'
  - 'macos >= 14.0, < 14.6'
  - fedora = 39
  - fedora = 40
  - active_iq_unified_manager
  - ontap_select_deploy_administration_utility
  - brocade_fabric_operating_system
  - bootstrap_os
  - h300s_firmware
  - h410s_firmware
  - h500s_firmware
  - h610c_firmware
  - h610s_firmware
  - h615c_firmware
  - h700s_firmware
patched:
  - curl 8.7.0
  - macos 14.6
published: '2024-03-27'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:17:43.520'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-2398'
references:
  - url: 'http://seclists.org/fulldisclosure/2024/Jul/18'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'http://seclists.org/fulldisclosure/2024/Jul/19'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'http://seclists.org/fulldisclosure/2024/Jul/20'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'http://www.openwall.com/lists/oss-security/2024/03/27/3'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'https://curl.se/docs/CVE-2024-2398.html'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'https://curl.se/docs/CVE-2024-2398.json'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'https://hackerone.com/reports/2402845'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2D44YLAUFJU6BZ4XFG2FYV7SBKXB5IZ6/
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/GMD6UYKCCRCYETWQZUJ65ZRFULT6SHLI/
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'https://security.netapp.com/advisory/ntap-20240503-0009/'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'https://support.apple.com/kb/HT214118'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'https://support.apple.com/kb/HT214119'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'https://support.apple.com/kb/HT214120'
    label: 2499f714-1537-4658-8207-48ae4bb9eae9
  - url: 'http://seclists.org/fulldisclosure/2024/Jul/18'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'http://seclists.org/fulldisclosure/2024/Jul/19'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'http://seclists.org/fulldisclosure/2024/Jul/20'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'http://www.openwall.com/lists/oss-security/2024/03/27/3'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://curl.se/docs/CVE-2024-2398.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://curl.se/docs/CVE-2024-2398.json'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://hackerone.com/reports/2402845'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2D44YLAUFJU6BZ4XFG2FYV7SBKXB5IZ6/
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/GMD6UYKCCRCYETWQZUJ65ZRFULT6SHLI/
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.netapp.com/advisory/ntap-20240503-0009/'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://support.apple.com/kb/HT214118'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://support.apple.com/kb/HT214119'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://support.apple.com/kb/HT214120'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-331112.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-398330.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-417159.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.36081
epssPercentile: 0.98465
ingestedAt: '2026-10-15T03:30:12.645Z'
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2024-04-26T18:57:39.256472Z'
---

## Overview

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.

## Affected

- `curl >= 7.44.0, < 8.7.0`
- `macos < 12.7.6`
- `macos >= 13.0, < 13.6.8`
- `macos >= 14.0, < 14.6`
- `fedora = 39`
- `fedora = 40`
- `active_iq_unified_manager`
- `ontap_select_deploy_administration_utility`
- `brocade_fabric_operating_system`
- `bootstrap_os`
- `h300s_firmware`
- `h410s_firmware`
- `h500s_firmware`
- `h610c_firmware`
- `h610s_firmware`
- `h615c_firmware`
- `h700s_firmware`

## Remediation

Upgrade past the affected range:

- `curl 8.7.0`
- `macos 14.6`
