cbcvebase.
CVE-2021-22901
published 2021-06-11

CVE-2021-22901: curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability resulting in already freed memory being used when a TLS 1.3 session ticket arrives over…

PriorityP266high8.1CVSS 3.1
AVNACHPRNUINSUCHIHAH
EPSS
60.12%
99.0th percentile
curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability resulting in already freed memory being used when a TLS 1.3 session ticket arrives over a connection. A malicious server can use this in rare unfortunate circumstances to potentially reach remote code execution in the client. When libcurl at run-time sets up support for TLS 1.3 session tickets on a connection using OpenSSL, it stores pointers to the transfer in-memory object for later retrieval when a session ticket arrives. If the connection is used by multiple transfers (like with a reused HTTP/1.1 connection or multiplexed HTTP/2 connection) that first transfer object might be freed before the new session is established on that connection and then the function will access a memory buffer that might be freed. When using that memory, libcurl might even call a function pointer in the object, making it possible for a remote code execution if the server could somehow manage to get crafted memory content into the correct place in memory.

Affected

31 ranges· showing 25
VendorProductVersion rangeFixed in
debiancurl
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl>= 0 < 7.77.0-r07.77.0-r0
haxxcurl7.75.0 – 7.76.1
httpsgithub.com_curl_curl
msrccbl2_curl_7.76.0-5_on_cbl_mariner_2.0
msrccm1_curl_7.76.0-2_on_cbl_mariner_1.0
oraclecommunications_cloud_native_core_binding_support_function
oraclecommunications_cloud_native_core_network_function_cloud_native_environment
oraclecommunications_cloud_native_core_network_repository_function
oraclecommunications_cloud_native_core_network_repository_function
oraclecommunications_cloud_native_core_network_slice_selection_function
oraclecommunications_cloud_native_core_service_communication_proxy
oracleessbase< 11.1.2.4.04711.1.2.4.047
oracleessbase>= 21.0 < 21.321.3

Detection & IOCsextracted from sources · hover to see the quote

  • Vulnerability is triggered when a TLS 1.3 session ticket arrives over a reused connection (HTTP/1.1 connection reuse or HTTP/2 multiplexing) while using libcurl with OpenSSL as the TLS backend — monitor for unexpected TLS 1.3 session ticket handling on multiplexed or reused connections from curl clients
  • Exploitation requires a malicious server sending crafted TLS 1.3 session tickets to a vulnerable curl client; network defenders should alert on curl versions 7.75.0–7.76.1 communicating over HTTPS/TLS 1.3 with untrusted servers
  • Exploitation path includes the server causing libcurl to call a function pointer in a freed object — crash or RCE of the curl client process is the expected observable outcome; monitor for abnormal curl process crashes or unexpected code execution following HTTPS sessions
  • ·Vulnerability only affects libcurl when OpenSSL is used as the TLS backend; other TLS backends are not affected
  • ·Affected curl versions are strictly 7.75.0 through 7.76.1; versions outside this range are not vulnerable
  • ·Attack complexity is high — exploitation requires the connection to be shared by multiple transfers AND the server to place crafted content at the correct freed memory location; not trivially exploitable
  • ·No known public exploits specifically target this vulnerability as of the CISA advisory

CVSS provenance

nvdv3.18.1HIGHCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.06.8MEDIUMAV:N/AC:M/Au:N/C:P/I:P/A:P
osv8.1HIGH
vendor_debian8.1LOW
vendor_msrc8.1HIGH
vendor_oracle8.1HIGH
vendor_redhat8.1HIGH
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.