Loading HuntDB...

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

Medium
I
Internet Bug Bounty
Submitted None

Team Summary

Official summary from Internet Bug Bounty

CVE-2024-2398 HTTP/2 push headers memory-leak VULNERABILITY 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. INFO If a server sends many PUSH_PROMISE frames with an excessive amount of headers, this can lead to multiple megabytes of memory leaked per response. HTTP/2 server push is a relatively rarely used feature. The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2024-2398 to this issue. CWE-772: Missing Release of Resource after Effective Lifetime Severity: Medium CREDITS Reported-by: w0x42 on hackerone Patched-by: Stefan Eissing Full Security Advisory: https://curl.se/docs/CVE-2024-2398.html

Reported by w0x42

Vulnerability Details

Technical details and impact analysis

A memory leak was found in libcurl in handling HTTP/2 push headers, which could lead to a denial of service due to memory exhaustion. Original report: https://hackerone.com/reports/2402845 ## Impact denial of service

Report Details

Additional information and metadata

State

Closed

Substate

Resolved

Bounty

$2580.00

Submitted