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.
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "curl",
"binary_version": "8.2.1-1ubuntu3"
},
{
"binary_name": "libcurl3-gnutls",
"binary_version": "8.2.1-1ubuntu3"
},
{
"binary_name": "libcurl3-nss",
"binary_version": "8.2.1-1ubuntu3"
},
{
"binary_name": "libcurl4",
"binary_version": "8.2.1-1ubuntu3"
},
{
"binary_name": "libcurl4-gnutls-dev",
"binary_version": "8.2.1-1ubuntu3"
},
{
"binary_name": "libcurl4-nss-dev",
"binary_version": "8.2.1-1ubuntu3"
},
{
"binary_name": "libcurl4-openssl-dev",
"binary_version": "8.2.1-1ubuntu3"
}
]
}