Vulnerability · Published Jun 11, 2021 · Assigned by hackerone

CVE-2021-22901

High 8.1

In plain English

A high-severity use-after-free in https://github.com/curl/curl. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 63.5% (higher than 99.2% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)8.1High
Exploit odds (30 days)63.5%top 0.8% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

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

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Alpine:v3.20curl7.77.0-r0ALPINE-CVE-2021-22901
Alpine:v3.21curl7.77.0-r0ALPINE-CVE-2021-22901
Alpine:v3.22curl7.77.0-r0ALPINE-CVE-2021-22901
Alpine:v3.23curl7.77.0-r0ALPINE-CVE-2021-22901
Alpine:v3.24curl7.77.0-r0ALPINE-CVE-2021-22901

Affected products (as reported)

VendorProductVersions
n/a https://github.com/curl/curl 7.75.0 through 7.76.1

Weakness: CWE-416

References