Lucene search

K
cvelistHackeroneCVELIST:CVE-2021-22901
HistoryJun 11, 2021 - 3:49 p.m.

CVE-2021-22901

2021-06-1115:49:38
CWE-416
hackerone
www.cve.org
5
cve-2021-22901
use-after-free
tls 1.3
remote code execution
memory corruption
libcurl

AI Score

8.6

Confidence

High

EPSS

0.1

Percentile

94.9%

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.

CNA Affected

[
  {
    "product": "https://github.com/curl/curl",
    "vendor": "n/a",
    "versions": [
      {
        "status": "affected",
        "version": "7.75.0 through 7.76.1"
      }
    ]
  }
]