When doing HTTP(S) transfers, libcurl might erroneously use the read callback (CURLOPT_READFUNCTION
) to ask for data to send, even when the CURLOPT_POSTFIELDS
option has been set, if the same handle previously was used to issue a PUT
request which used that callback. This flaw may surprise the application and cause it to misbehave and either send off the wrong data or use memory after free or similar in the subsequent POST
request. The problem exists in the logic for a reused handle when it is changed from a PUT to a POST.
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "curl" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "curl-dbgsym" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "curl-udeb" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "curl-udeb-dbgsym" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl3" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl3-dbg" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl3-dbgsym" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl3-gnutls" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl3-gnutls-dbgsym" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl3-nss" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl3-nss-dbgsym" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl3-udeb" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl3-udeb-dbgsym" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl4-doc" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl4-gnutls-dev" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl4-gnutls-dev-dbgsym" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl4-nss-dev" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl4-nss-dev-dbgsym" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl4-openssl-dev" }, { "binary_version": "7.35.0-1ubuntu2.20+esm13", "binary_name": "libcurl4-openssl-dev-dbgsym" } ] }
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "curl" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "curl-dbgsym" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl3" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl3-dbg" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl3-dbgsym" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl3-gnutls" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl3-gnutls-dbgsym" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl3-nss" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl3-nss-dbgsym" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl4-doc" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl4-gnutls-dev" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl4-gnutls-dev-dbgsym" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl4-nss-dev" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl4-nss-dev-dbgsym" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl4-openssl-dev" }, { "binary_version": "7.47.0-1ubuntu2.19+esm6", "binary_name": "libcurl4-openssl-dev-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "curl" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "curl-dbgsym" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl3-gnutls" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl3-gnutls-dbgsym" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl3-nss" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl3-nss-dbgsym" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl4" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl4-dbgsym" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl4-doc" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl4-gnutls-dev" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl4-nss-dev" }, { "binary_version": "7.58.0-2ubuntu3.21", "binary_name": "libcurl4-openssl-dev" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "curl" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "curl-dbgsym" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl3-gnutls" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl3-gnutls-dbgsym" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl3-nss" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl3-nss-dbgsym" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl4" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl4-dbgsym" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl4-doc" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl4-gnutls-dev" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl4-nss-dev" }, { "binary_version": "7.68.0-1ubuntu2.14", "binary_name": "libcurl4-openssl-dev" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "curl" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "curl-dbgsym" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl3-gnutls" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl3-gnutls-dbgsym" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl3-nss" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl3-nss-dbgsym" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl4" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl4-dbgsym" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl4-doc" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl4-gnutls-dev" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl4-nss-dev" }, { "binary_version": "7.81.0-1ubuntu1.6", "binary_name": "libcurl4-openssl-dev" } ] }