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

exploitDog

nvd логотип

CVE-2019-3822

Опубликовано: 06 фев. 2019
Источник: nvd
CVSS3: 7.1
CVSS3: 9.8
CVSS2: 7.5
EPSS Средний

Уязвимость переполнения буфера в стеке в libcurl при обработке NTLM type-3 заголовков

Описание

В библиотеке libcurl присутствует уязвимость переполнения буфера в стеке. Функция, создающая исходящий заголовок типа NTLM type-3 (lib/vauth/ntlm.c:Curl_auth_create_ntlm_type3_message()), формирует содержимое HTTP-заголовка на основе ранее полученных данных. Проверка, предназначенная для предотвращения переполнения локального буфера, реализована некорректно из-за использования операций с беззнаковыми числами, что не предотвращает переполнение. Эти данные могут превысить размер локального буфера, если из предыдущего заголовка NTLMv2 от злоумышленника или неправильно настроенного HTTP-сервера извлекаются очень большие данные nt response. Размер таких данных должен составлять около 1000 байт или более. Фактические данные полезной нагрузки, копируемые в целевой буфер, берутся из заголовка ответа типа NTLMv2 type-2.

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

  • libcurl с 7.36.0 до 7.64.0 (исключая 7.64.0)

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

Переполнение буфера в стеке

Ссылки

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

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

Одно из

cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:*
cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*
cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*
cpe:2.3:o:canonical:ubuntu_linux:18.10:*:*:*:*:*:*:*
Конфигурация 3
cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*
Конфигурация 4

Одно из

cpe:2.3:a:netapp:active_iq_unified_manager:*:*:*:*:*:windows:*:*
Версия от 7.3 (включая)
cpe:2.3:a:netapp:active_iq_unified_manager:*:*:*:*:*:vsphere:*:*
Версия от 9.5 (включая)
cpe:2.3:a:netapp:clustered_data_ontap:*:*:*:*:*:*:*:*
cpe:2.3:a:netapp:oncommand_insight:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:oncommand_workflow_automation:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:snapcenter:-:*:*:*:*:*:*:*
Конфигурация 5
cpe:2.3:a:siemens:sinema_remote_connect_client:*:*:*:*:*:*:*:*
Версия до 2.0 (включая)
Конфигурация 6

Одно из

cpe:2.3:a:oracle:communications_operations_monitor:3.4:*:*:*:*:*:*:*
cpe:2.3:a:oracle:communications_operations_monitor:4.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:enterprise_manager_ops_center:12.3.3:*:*:*:*:*:*:*
cpe:2.3:a:oracle:enterprise_manager_ops_center:12.4.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:http_server:12.2.1.3.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:mysql_server:*:*:*:*:*:*:*:*
Версия до 5.7.26 (включая)
cpe:2.3:a:oracle:mysql_server:*:*:*:*:*:*:*:*
Версия от 5.7.27 (включая) до 8.0.15 (включая)
cpe:2.3:a:oracle:secure_global_desktop:5.4:*:*:*:*:*:*:*
cpe:2.3:a:oracle:services_tools_bundle:19.2:*:*:*:*:*:*:*
Конфигурация 7
cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*

EPSS

Процентиль: 97%
0.36847
Средний

7.1 High

CVSS3

9.8 Critical

CVSS3

7.5 High

CVSS2

Дефекты

CWE-121
CWE-787

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

CVSS3: 9.8
ubuntu
больше 6 лет назад

libcurl versions from 7.36.0 to before 7.64.0 are vulnerable to a stack-based buffer overflow. The function creating an outgoing NTLM type-3 header (`lib/vauth/ntlm.c:Curl_auth_create_ntlm_type3_message()`), generates the request HTTP header contents based on previously received data. The check that exists to prevent the local buffer from getting overflowed is implemented wrongly (using unsigned math) and as such it does not prevent the overflow from happening. This output data can grow larger than the local buffer if very large 'nt response' data is extracted from a previous NTLMv2 header provided by the malicious or broken HTTP server. Such a 'large value' needs to be around 1000 bytes or more. The actual payload data copied to the target buffer comes from the NTLMv2 type-2 response header.

CVSS3: 5.3
redhat
больше 6 лет назад

libcurl versions from 7.36.0 to before 7.64.0 are vulnerable to a stack-based buffer overflow. The function creating an outgoing NTLM type-3 header (`lib/vauth/ntlm.c:Curl_auth_create_ntlm_type3_message()`), generates the request HTTP header contents based on previously received data. The check that exists to prevent the local buffer from getting overflowed is implemented wrongly (using unsigned math) and as such it does not prevent the overflow from happening. This output data can grow larger than the local buffer if very large 'nt response' data is extracted from a previous NTLMv2 header provided by the malicious or broken HTTP server. Such a 'large value' needs to be around 1000 bytes or more. The actual payload data copied to the target buffer comes from the NTLMv2 type-2 response header.

CVSS3: 9.8
debian
больше 6 лет назад

libcurl versions from 7.36.0 to before 7.64.0 are vulnerable to a stac ...

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

libcurl versions from 7.36.0 to before 7.64.0 are vulnerable to a stack-based buffer overflow. The function creating an outgoing NTLM type-3 header (`lib/vauth/ntlm.c:Curl_auth_create_ntlm_type3_message()`), generates the request HTTP header contents based on previously received data. The check that exists to prevent the local buffer from getting overflowed is implemented wrongly (using unsigned math) and as such it does not prevent the overflow from happening. This output data can grow larger than the local buffer if very large 'nt response' data is extracted from a previous NTLMv2 header provided by the malicious or broken HTTP server. Such a 'large value' needs to be around 1000 bytes or more. The actual payload data copied to the target buffer comes from the NTLMv2 type-2 response header.

CVSS3: 9.8
fstec
больше 6 лет назад

Уязвимость библиотеки libcurl, вызванная переполнением буфера на стеке, позволяющая нарушителю оказать воздействие на конфиденциальность, целостность и доступность защищаемой информации

EPSS

Процентиль: 97%
0.36847
Средний

7.1 High

CVSS3

9.8 Critical

CVSS3

7.5 High

CVSS2

Дефекты

CWE-121
CWE-787