Vulnerability record · CVE-2021-22901 · published 11 June 2021
CVE-2021-22901: curl TLS 1.3 session ticket use-after-free in libcurl
Haxx · Curl
curl 7.75.0 through 7.76.1 contains a use-after-free in libcurl's TLS 1.3 session ticket handling with OpenSSL. When a connection is reused across transfers (HTTP/1.1 keep-alive or HTTP/2 multiplexing), a stored pointer to a freed transfer object can be dereferenced when a session ticket arrives. The flaw can corrupt memory and, in rare circumstances, allow remote code execution in the client.
Description
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.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Automated analysis
high priorityRemote, unauthenticated memory corruption with potential code execution and a very high EPSS score, though exploitation requires specific connection reuse and timing conditions.
What it is
curl 7.75.0 through 7.76.1 contains a use-after-free in libcurl's TLS 1.3 session ticket handling with OpenSSL. When a connection is reused across transfers (HTTP/1.1 keep-alive or HTTP/2 multiplexing), a stored pointer to a freed transfer object can be dereferenced when a session ticket arrives. The flaw can corrupt memory and, in rare circumstances, allow remote code execution in the client.
Impact
A malicious server can trigger use of freed memory in the connecting client, potentially achieving remote code execution in the context of the application using libcurl. Even without code execution, memory corruption can crash or destabilize the client.
Attack surface
Reached over the network by a malicious or compromised TLS server that the client connects to; no authentication or user interaction is required beyond the client initiating the connection. Exploitation depends on connection reuse and TLS 1.3 session ticket timing, which the CVSS vector reflects as high attack complexity.
Exploitation
Not listed in CISA KEV and no ransomware use documented, but EPSS is 0.60122 (99.1st percentile) and vendor and HackerOne references are tagged Exploit, indicating public exploit detail exists.
What to do
- Upgrade curl/libcurl to a version after 7.76.1 that contains the fix (commit 7f4a9a9b2a49547eae24d2e19bc5c346e9026479).
- Apply vendor patches for products bundling libcurl (Oracle, NetApp, Siemens, Splunk) per their advisories.
- Inventory applications and appliances that embed libcurl and confirm their bundled version.
- If immediate patching is not possible, reduce exposure to untrusted TLS servers and disable or limit TLS 1.3 session ticket reuse where configurable.
Detection
- Monitor for crashes or abnormal termination in processes using libcurl when connecting to external TLS servers.
- Track libcurl/curl versions across hosts and containers to find systems still running 7.75.0 through 7.76.1.
- Review egress connections to untrusted or newly observed TLS servers from applications that use libcurl.
This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.
Affected products
26 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
Track CVE-2021-22901 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2021-22901), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.