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

Уязвимость функции Curl_ntlm_core_mk_nt_hash программного средства для взаимодействия с серверами curl связана с переполнением буфера в ходе проверки подлинности кода аутентификации NTLM. Функция Curl_ntlm_core_mk_nt_hash умножает длину пароля на два (SUM), чтобы определить достаточный размер выделяемой временной области памяти из кучи. Затем значение длины используется для итеграции по паролю и выработки выходного значения хеша в выделенный буфер хранения. В системах с типом данных size_t, равным 32-м битам, попытка вычисления значения SUM приводит к целочисленному переполнению в случае, когда длина пароля превышает 2 ГБ (2^31 байт). Это целочисленное переполнение обычно приводит к тому, что очень маленький буфер выделяется вместо предполагаемого очень большого, и, соответственно, использование маленького буфера, в свою очередь, приводит к переполнению буфера кучи. Эксплуатация уязвимости может позволить нарушителю, действующему удаленно, вызвать отказ в обслуживании или выполнить произвольный код

CVE: CVE-2018-14618
CVSS v2.0: 10