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.
History

No history.

cve-icon MITRE

Status: PUBLISHED

Assigner: hackerone

Published: 2021-06-11T15:49:38

Updated: 2024-08-03T18:58:25.389Z

Reserved: 2021-01-06T00:00:00

Link: CVE-2021-22901

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2021-06-11T16:15:11.120

Modified: 2024-03-27T15:12:59.917

Link: CVE-2021-22901

cve-icon Redhat

Severity : Important

Publid Date: 2021-05-26T00:00:00Z

Links: CVE-2021-22901 - Bugzilla