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 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.
EPSS 60.12% · 99.0th percentile
Risk Scores
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Ubuntu:18.04:LTS | curl | 7.55.1-1ubuntu2, 7.55.1-1ubuntu2.1, 7.57.0-1ubuntu1 |
| Ubuntu:20.04:LTS | curl | 7.65.3-1ubuntu3, 7.65.3-1ubuntu4, 7.66.0-1ubuntu1 |
Timeline
- CVE Published
- May 26, 2021 PoC Published
- Jun 12, 2021 EPSS Score
- Oct 13, 2021 EPSS Score
- Dec 12, 2021 EPSS Score
- Feb 4, 2022 EPSS Score
- Feb 11, 2022 EPSS Score
- Mar 9, 2022 EPSS Score
- Apr 13, 2022 EPSS Score
- Jun 13, 2022 EPSS Score
- Aug 13, 2022 EPSS Score
- Dec 13, 2022 EPSS Score
References
- https://ubuntu.com/security/CVE-2021-22901 third-party-advisory
- https://www.cve.org/CVERecord?id=CVE-2021-22901 third-party-advisory