libcurl contains a heap buffer out-of-bounds read flaw.
The function handling incoming NTLM type-2 messages
(lib/vauth/ntlm.c:ntlm_decode_type2_target
) does not validate incoming data
correctly and is subject to an integer overflow vulnerability.
Using that overflow, a malicious or broken NTLM server could trick libcurl to accept a bad length + offset combination that would lead to a buffer read out-of-bounds.
{ "last_affected": "7.63.0", "severity": "Medium", "affects": "both", "CWE": { "desc": "Out-of-bounds Read", "id": "CWE-125" }, "URL": "https://curl.se/docs/CVE-2018-16890.json", "www": "https://curl.se/docs/CVE-2018-16890.html", "package": "curl" }
{ "vanir_signatures": [ { "target": { "file": "lib/vauth/ntlm.c" }, "digest": { "line_hashes": [ "12728682252783882915865415916745410219", "260038441391679011891052480260443053264", "304498700439191242831503511784071893196", "248163854096766719562619899192948860617", "258592839919068071494480859323354185920", "65831133836082554303220208869811168717", "5459699787853170582943844525295317240", "40134995311612953874905870103359729622" ], "threshold": 0.9 }, "signature_version": "v1", "id": "CURL-CVE-2018-16890-10e9b890", "source": "https://github.com/curl/curl.git/commit/b780b30d1377adb10bbe774835f49e9b237fb9bb", "signature_type": "Line", "deprecated": false }, { "target": { "file": "lib/vauth/ntlm.c", "function": "ntlm_decode_type2_target" }, "digest": { "length": 767.0, "function_hash": "167555698249115182477771298620459297773" }, "signature_version": "v1", "id": "CURL-CVE-2018-16890-a78e5ad3", "source": "https://github.com/curl/curl.git/commit/b780b30d1377adb10bbe774835f49e9b237fb9bb", "signature_type": "Function", "deprecated": false } ] }