curl might dereference a near-NULL address when getting an LDAP URL.
The function ldap_get_attribute_ber()
is called to get attributes, but it
turns out that it can return LDAP_SUCCESS
and still return a NULL
pointer
in the result pointer when getting a particularly crafted response. This was a
surprise to us and to the code.
libcurl-using applications that allow LDAP URLs, or that allow redirects to LDAP URLs could be made to crash by a malicious server.
{ "last_affected": "7.58.0", "affects": "both", "www": "https://curl.se/docs/CVE-2018-1000121.html", "URL": "https://curl.se/docs/CVE-2018-1000121.json", "severity": "Low", "package": "curl", "CWE": { "id": "CWE-476", "desc": "NULL Pointer Dereference" } }
{ "vanir_signatures": [ { "digest": { "function_hash": "328887416578178214306654622421626785268", "length": 4592.0 }, "source": "https://github.com/curl/curl.git/commit/9889db043393092e9d4b5a42720bba0b3d58deba", "id": "CURL-CVE-2018-1000121-ab1e9bb3", "target": { "function": "ldap_recv", "file": "lib/openldap.c" }, "signature_type": "Function", "deprecated": false, "signature_version": "v1" }, { "digest": { "line_hashes": [ "66058308195053059303831184805157800240", "208522381284363225235985548495567561267", "180384795194571577937512636606419807899", "116950588264124085603154233862740494801", "318624911198468198367229108116250639555", "238016220396618899894483569339603354701", "36496125730363765297620715070526551016", "95658113234756168716412665952919080209", "187721295413051310410400220050223779294", "266033551554067307004414137609620697488" ], "threshold": 0.9 }, "source": "https://github.com/curl/curl.git/commit/9889db043393092e9d4b5a42720bba0b3d58deba", "id": "CURL-CVE-2018-1000121-e2a14c76", "target": { "file": "lib/openldap.c" }, "signature_type": "Line", "deprecated": false, "signature_version": "v1" } ] }