In this scenario, libcurl first uses a proper HTTP/3 server for the initial transfers, and when it makes a second transfer to the same site it has been replaced by the attacker's impostor machine - without a valid certificate. When libcurl returns to the hostname the second time with a cached SSL session (CURLOPT_SSL_SESSIONID_CACHE is not disabled) and early data enabled (the CURLSSLOPT_EARLYDATA bit is set inCURLOPT_SSL_OPTIONS), libcurl might send off the second request's bytes on that new connection before enforcing the certificate verification failure. Potentially leaking sensitive information.
{
"binaries": [
{
"binary_name": "curl",
"binary_version": "8.14.1-2ubuntu1.4"
},
{
"binary_name": "libcurl3t64-gnutls",
"binary_version": "8.14.1-2ubuntu1.4"
},
{
"binary_name": "libcurl4t64",
"binary_version": "8.14.1-2ubuntu1.4"
}
],
"priority_reason": "Upstream defined this as low severity",
"availability": "No subscription required"
}
{
"binaries": [
{
"binary_name": "curl",
"binary_version": "8.18.0-1ubuntu2.2"
},
{
"binary_name": "libcurl3t64-gnutls",
"binary_version": "8.18.0-1ubuntu2.2"
},
{
"binary_name": "libcurl4t64",
"binary_version": "8.18.0-1ubuntu2.2"
}
],
"priority_reason": "Upstream defined this as low severity",
"availability": "No subscription required"
}