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. 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. Reference: https://curl.se/docs/CVE-2024-2398.html Upstream patch: https://github.com/curl/curl/commit/deca8039991886a559b67bcd6
Created curl tracking bugs for this issue: Affects: fedora-all [bug 2271824] Created mingw-curl tracking bugs for this issue: Affects: fedora-all [bug 2271825]