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": { "desc": "Allocation of Resources Without Limits or Throttling", "id": "CWE-770" }, "package": "curl", "www": "https://curl.se/docs/CVE-2023-23916.html", "severity": "Medium", "affects": "both", "URL": "https://curl.se/docs/CVE-2023-23916.json", "award": { "currency": "USD", "amount": "2400" }, "last_affected": "7.87.0", "issue": "https://hackerone.com/reports/1826048" }