When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API. However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.
https://www.cisa.gov/news-events/ics-advisories/icsa-24-137-07
https://www.insyde.com/security-pledge/SA-2023064
https://support.apple.com/kb/HT214063
https://support.apple.com/kb/HT214058
https://support.apple.com/kb/HT214057
https://support.apple.com/kb/HT214036
https://security.netapp.com/advisory/ntap-20231013-0005/
https://security.gentoo.org/glsa/202310-12
https://hackerone.com/reports/2072338
http://seclists.org/fulldisclosure/2024/Jan/38
http://seclists.org/fulldisclosure/2024/Jan/37