When curl is built with GnuTLS, a malicious WebSocket server can make curl send memory past its send buffer. This is due to an out of bounds read following when gnutls_record_send() returns a number of bytes sent greater than the number of bytes it was given to send. GnuTLS does that after a blocked send.
{
"binaries": [
{
"binary_name": "curl",
"binary_version": "8.20.0-2ubuntu11"
},
{
"binary_name": "libcurl3t64-gnutls",
"binary_version": "8.20.0-2ubuntu11"
},
{
"binary_name": "libcurl4t64",
"binary_version": "8.20.0-2ubuntu11"
}
],
"priority_reason": "Upstream defined this as low severity"
}
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "curl",
"binary_version": "8.18.0-1ubuntu2.8"
},
{
"binary_name": "libcurl3t64-gnutls",
"binary_version": "8.18.0-1ubuntu2.8"
},
{
"binary_name": "libcurl4t64",
"binary_version": "8.18.0-1ubuntu2.8"
}
],
"priority_reason": "Upstream defined this as low severity"
}