CVE-2024-2398

HTTP/2 push headers memory-leak

At a glance

Severity
HIGH 8.6
EPSS
EPSS 36.08 % · percentile 98 (2026-10-27)
State
PUBLISHED
Published
Updated
Assigner
curl
NVD status
Modified

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.

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 8.6CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:LCISA-ADP
CVSS 3.1HIGH 8.6CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:LNVD · 134c704f-9b21-4f2e-91b3-4a467353bcc0 (Secondary)

Weaknesses (CWE)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
curl · curlaffected 8.6.0 ≤ 8.6.0 ; affected 8.5.0 ≤ 8.5.0 ; affected 8.4.0 ≤ 8.4.0 ; affected 8.3.0 ≤ 8.3.0 ; affected 8.2.1 ≤ 8.2.1 ; affected 8.2.0 ≤ 8.2.0

References

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD