curl supports "chained" HTTP compression algorithms, meaning that a server response can be compressed multiple times and potentially with different algorithms. The number of acceptable "links" in this "decompression chain" was capped, but the cap was implemented on a per-header basis allowing a malicious server to insert a virtually unlimited number of compression steps simply by using many headers.
The use of such a decompression chain could result in a "malloc bomb", making curl end up spending enormous amounts of allocated heap memory, or trying to and returning out of memory errors.
{ "CWE": { "id": "CWE-770", "desc": "Allocation of Resources Without Limits or Throttling" }, "award": { "amount": "2400", "currency": "USD" }, "URL": "https://curl.se/docs/CVE-2023-23916.json", "package": "curl", "severity": "Medium", "issue": "https://hackerone.com/reports/1826048", "www": "https://curl.se/docs/CVE-2023-23916.html", "last_affected": "7.87.0" }