Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

nvd логотип

CVE-2021-22901

Опубликовано: 11 июн. 2021
Источник: nvd
CVSS3: 8.1
CVSS2: 6.8
EPSS Низкий

Уязвимость "использование после освобождения" (use-after-free) в curl при обработке TLS 1.3 сессий, приводящая к потенциальному удалённому выполнению кода

Описание

В curl версии с 7.75.0 до 7.76.1 обнаружена уязвимость типа "использование после освобождения" (use-after-free). Она возникает при использовании уже освобожденной памяти, когда по соединению поступает тикет сессии TLS 1.3. В редких случаях злоумышленник, используя вредоносный сервер, может достичь удаленного выполнения кода на клиенте. В процессе выполнения libcurl настраивает поддержку тикетов сессий TLS 1.3 на соединении с использованием OpenSSL и хранит указатели на объект передачи в памяти для последующего доступа после получения тикета сессии. Если соединение используется несколькими передачами (например, при повторном использовании соединения HTTP/1.1 или мультиплексированного соединения HTTP/2), первоначальный объект передачи может быть освобожден до установления новой сессии на этом соединении. В таком случае функция может обратиться к памяти, которая, возможно, уже освобождена. При использовании этой памяти libcurl может даже вызвать указатель на функцию в объекте, что делает возможным удаленное выполнение кода, если серверу удастся каким-то образом содержать скомпрометированные данные в памяти.

Затронутые версии ПО

  • curl версии от 7.75.0 до 7.76.1

Тип уязвимости

  • Уязвимость типа "использование после освобождения" (use-after-free)
  • Удалённое выполнение кода

Ссылки

Уязвимые конфигурации

Конфигурация 1
cpe:2.3:a:haxx:curl:*:*:*:*:*:*:*:*
Версия от 7.75.0 (включая) до 7.76.1 (включая)
Конфигурация 2

Одно из

cpe:2.3:a:oracle:communications_cloud_native_core_binding_support_function:1.11.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:communications_cloud_native_core_network_function_cloud_native_environment:1.10.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:communications_cloud_native_core_network_repository_function:1.15.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:communications_cloud_native_core_network_repository_function:1.15.1:*:*:*:*:*:*:*
cpe:2.3:a:oracle:communications_cloud_native_core_network_slice_selection_function:1.8.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:communications_cloud_native_core_service_communication_proxy:1.15.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:essbase:*:*:*:*:*:*:*:*
Версия до 11.1.2.4.047 (исключая)
cpe:2.3:a:oracle:essbase:*:*:*:*:*:*:*:*
Версия от 21.0 (включая) до 21.3 (исключая)
cpe:2.3:a:oracle:mysql_server:*:*:*:*:*:*:*:*
Версия до 5.7.34 (включая)
cpe:2.3:a:oracle:mysql_server:*:*:*:*:*:*:*:*
Версия от 8.0.0 (включая) до 8.0.25 (включая)
Конфигурация 3

Одно из

cpe:2.3:a:netapp:active_iq_unified_manager:-:*:*:*:*:vsphere:*:*
cpe:2.3:a:netapp:active_iq_unified_manager:-:*:*:*:*:windows:*:*
cpe:2.3:a:netapp:cloud_backup:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:oncommand_insight:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:oncommand_workflow_automation:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:snapcenter:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:solidfire\,_enterprise_sds_\&_hci_storage_node:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:solidfire_\&_hci_management_node:-:*:*:*:*:*:*:*
cpe:2.3:o:netapp:solidfire_baseboard_management_controller_firmware:-:*:*:*:*:*:*:*
Конфигурация 4

Одновременно

cpe:2.3:o:netapp:hci_compute_node_firmware:-:*:*:*:*:*:*:*
cpe:2.3:h:netapp:hci_compute_node:-:*:*:*:*:*:*:*
Конфигурация 5

Одновременно

cpe:2.3:o:netapp:h300e_firmware:-:*:*:*:*:*:*:*
cpe:2.3:h:netapp:h300e:-:*:*:*:*:*:*:*
Конфигурация 6

Одновременно

cpe:2.3:o:netapp:h300s_firmware:-:*:*:*:*:*:*:*
cpe:2.3:h:netapp:h300s:-:*:*:*:*:*:*:*
Конфигурация 7

Одновременно

cpe:2.3:o:netapp:h410s_firmware:-:*:*:*:*:*:*:*
cpe:2.3:h:netapp:h410s:-:*:*:*:*:*:*:*
Конфигурация 8

Одновременно

cpe:2.3:o:netapp:h500e_firmware:-:*:*:*:*:*:*:*
cpe:2.3:h:netapp:h500e:-:*:*:*:*:*:*:*
Конфигурация 9

Одновременно

cpe:2.3:o:netapp:h500s_firmware:-:*:*:*:*:*:*:*
cpe:2.3:h:netapp:h500s:-:*:*:*:*:*:*:*
Конфигурация 10

Одновременно

cpe:2.3:o:netapp:h700e_firmware:-:*:*:*:*:*:*:*
cpe:2.3:h:netapp:h700e:-:*:*:*:*:*:*:*
Конфигурация 11

Одновременно

cpe:2.3:o:netapp:h700s_firmware:-:*:*:*:*:*:*:*
cpe:2.3:h:netapp:h700s:-:*:*:*:*:*:*:*
Конфигурация 12
cpe:2.3:a:siemens:sinec_infrastructure_network_services:*:*:*:*:*:*:*:*
Версия до 1.0.1.1 (исключая)
Конфигурация 13

Одно из

cpe:2.3:a:splunk:universal_forwarder:*:*:*:*:*:*:*:*
Версия от 8.2.0 (включая) до 8.2.12 (исключая)
cpe:2.3:a:splunk:universal_forwarder:*:*:*:*:*:*:*:*
Версия от 9.0.0 (включая) до 9.0.6 (исключая)
cpe:2.3:a:splunk:universal_forwarder:9.1.0:*:*:*:*:*:*:*

EPSS

Процентиль: 50%
0.00272
Низкий

8.1 High

CVSS3

6.8 Medium

CVSS2

Дефекты

CWE-416
CWE-416

Связанные уязвимости

CVSS3: 8.1
ubuntu
около 4 лет назад

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

CVSS3: 8.1
redhat
около 4 лет назад

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

CVSS3: 8.1
msrc
почти 4 года назад

Описание отсутствует

CVSS3: 8.1
debian
около 4 лет назад

curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability ...

CVSS3: 8.1
github
около 3 лет назад

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

EPSS

Процентиль: 50%
0.00272
Низкий

8.1 High

CVSS3

6.8 Medium

CVSS2

Дефекты

CWE-416
CWE-416