libcurl contains a heap use after free flaw in code related to closing an easy handle.
When closing and cleaning up an "easy" handle in the Curl_close()
function,
the library code first frees a struct (without clearing the pointer) and might
then subsequently erroneously write to a struct field within that already
freed struct.
{ "www": "https://curl.se/docs/CVE-2018-16840.html", "package": "curl", "CWE": { "desc": "Use After Free", "id": "CWE-416" }, "affects": "both", "severity": "Low", "last_affected": "7.61.1", "award": { "amount": "100", "currency": "USD" }, "URL": "https://curl.se/docs/CVE-2018-16840.json" }
{ "vanir_signatures": [ { "id": "CURL-CVE-2018-16840-a87c499d", "digest": { "line_hashes": [ "76450436232552618053190577593466383274", "56283251733270634435040735386618773715", "225146506795074944162099681821124504277", "72162716836877692358628916813877661635", "28202728034268574745574819732142521908" ], "threshold": 0.9 }, "target": { "file": "lib/url.c" }, "signature_version": "v1", "source": "https://github.com/curl/curl.git/commit/81d135d67155c5295b1033679c606165d4e28f3f", "deprecated": false, "signature_type": "Line" }, { "id": "CURL-CVE-2018-16840-ba2aaffc", "digest": { "length": 1388.0, "function_hash": "253867143457341161698845574111827314122" }, "target": { "function": "Curl_close", "file": "lib/url.c" }, "signature_version": "v1", "source": "https://github.com/curl/curl.git/commit/81d135d67155c5295b1033679c606165d4e28f3f", "deprecated": false, "signature_type": "Function" } ] }