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

exploitDog

nvd логотип

CVE-2021-22926

Опубликовано: 05 авг. 2021
Источник: nvd
CVSS3: 7.5
CVSS2: 5
EPSS Низкий

Уязвимость подмены клиентского сертификата в приложениях, использующих libcurl с библиотекой Secure Transport на macOS

Описание

Приложения, использующие libcurl, могут запросить использование определённого клиентского сертификата для передачи данных. Это достигается с помощью опции CURLOPT_SSLCERT (или --cert в командной строке).

Когда libcurl собран с использованием встроенной в macOS библиотеки TLS (Secure Transport), приложение может запросить клиентский сертификат по его имени или с использованием имени файла, применяя одну и ту же опцию. Если указанное имя существует как файл, оно будет использовано вместо имени сертификата.

Если приложение работает в текущем рабочем каталоге, который доступен для записи другими пользователями (например, /tmp), злоумышленник может создать файл с именем, совпадающим с именем сертификата, указанным приложением. Это может привести к тому, что приложение будет использовать сертификат из файла вместо сертификата, указанного по имени, что заставит libcurl отправить неверный клиентский сертификат во время процесса установления TLS-соединения (handshake).

Затронутое ПО

  • libcurl, использующий библиотеку Secure Transport на macOS.

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

Подмена клиентского сертификата

Ссылки

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

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

Одно из

cpe:2.3:a:netapp:active_iq_unified_manager:-:*:*:*:*:vmware_vsphere:*:*
cpe:2.3:a:netapp:active_iq_unified_manager:-:*:*:*:*:windows:*:*
cpe:2.3:a:netapp:clustered_data_ontap:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:hci_management_node:-:*:*:*:*:*:*:*
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:-:*:*:*:*:*:*:*
Конфигурация 3

Одно из

cpe:2.3:a:oracle:mysql_server:*:*:*:*:*:*:*:*
Версия от 5.7.0 (включая) до 5.7.35 (включая)
cpe:2.3:a:oracle:mysql_server:*:*:*:*:*:*:*:*
Версия от 8.0.0 (включая) до 8.0.26 (включая)
cpe:2.3:a:oracle:peoplesoft_enterprise_peopletools:8.57:*:*:*:*:*:*:*
cpe:2.3:a:oracle:peoplesoft_enterprise_peopletools:8.58:*:*:*:*:*:*:*
cpe:2.3:a:oracle:peoplesoft_enterprise_peopletools:8.59:*:*:*:*:*:*:*
Конфигурация 4
cpe:2.3:a:siemens:sinec_infrastructure_network_services:*:*:*:*:*:*:*:*
Версия до 1.0.1.1 (исключая)
Конфигурация 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Одно из

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

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

7.5 High

CVSS3

5 Medium

CVSS2

Дефекты

CWE-840
CWE-295

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

CVSS3: 7.5
ubuntu
почти 4 года назад

libcurl-using applications can ask for a specific client certificate to be used in a transfer. This is done with the `CURLOPT_SSLCERT` option (`--cert` with the command line tool).When libcurl is built to use the macOS native TLS library Secure Transport, an application can ask for the client certificate by name or with a file name - using the same option. If the name exists as a file, it will be used instead of by name.If the appliction runs with a current working directory that is writable by other users (like `/tmp`), a malicious user can create a file name with the same name as the app wants to use by name, and thereby trick the application to use the file based cert instead of the one referred to by name making libcurl send the wrong client certificate in the TLS connection handshake.

CVSS3: 7.5
redhat
почти 4 года назад

libcurl-using applications can ask for a specific client certificate to be used in a transfer. This is done with the `CURLOPT_SSLCERT` option (`--cert` with the command line tool).When libcurl is built to use the macOS native TLS library Secure Transport, an application can ask for the client certificate by name or with a file name - using the same option. If the name exists as a file, it will be used instead of by name.If the appliction runs with a current working directory that is writable by other users (like `/tmp`), a malicious user can create a file name with the same name as the app wants to use by name, and thereby trick the application to use the file based cert instead of the one referred to by name making libcurl send the wrong client certificate in the TLS connection handshake.

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

libcurl-using applications can ask for a specific client certificate to be used in a transfer. This is done with the `CURLOPT_SSLCERT` option (`--cert` with the command line tool).When libcurl is built to use the macOS native TLS library Secure Transport, an application can ask for the client certificate by name or with a file name - using the same option. If the name exists as a file, it will be used instead of by name.If the appliction runs with a current working directory that is writable by other users (like `/tmp`), a malicious user can create a file name with the same name as the app wants to use by name, and thereby trick the application to use the file based cert instead of the one referred to by name making libcurl send the wrong client certificate in the TLS connection handshake.

EPSS

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

7.5 High

CVSS3

5 Medium

CVSS2

Дефекты

CWE-840
CWE-295