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.
{
"binaries": [
{
"binary_version": "8.2.1-1ubuntu3",
"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"
}
],
"availability": "No subscription required"
}