Critical severity · published Jul 31, 2018
CVE-2016-8622
The URL percent-encoding decode function in libcurl before 7.51.0 is called `curl_easy_unescape`
9.8
CVSS
4.7%
EPSS
No
On KEV
Description
The URL percent-encoding decode function in libcurl before 7.51.0 is called `curl_easy_unescape`. Internally, even if this function would be made to allocate a unscape destination buffer larger than 2GB, it would return that new length in a signed 32 bit integer variable, thus the length would get either just truncated or both truncated and turned negative. That could then lead to libcurl writing outside of its heap based buffer.
CVSS vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)4.7% · higher than 92% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
CU
curl · The Curl Project
7.51.0 · source: vendor
LI
Libcurl · Haxx
before 7.51.0 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2016-8622
CVE.org
https://www.cve.org/CVERecord?id=CVE-2016-8622
www.oracle.com
http://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html
Third Party Advisory
http://www.securityfocus.com/bid/94105
Third Party Advisory
http://www.securitytracker.com/id/1037192
Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:2486
access.redhat.com
https://access.redhat.com/errata/RHSA-2018:3558
Issue Tracking
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-8622
More from curl
9.8
CVE-2019-3822
libcurl versions from 7.36.0 to before 7.64.0 are vulnerable to a stack-based buffer overflow
9.8
CVE-2016-8620
The 'globbing' feature in curl before version 7.51.0 has a flaw that leads to integer overflow and out-of-bounds read via user controlled input
9.8
CVE-2016-8619
The function `read_data()` in security.c in curl before version 7.51.0 is vulnerable to memory double free
9.8
CVE-2016-8618
The libcurl API function called `curl_maprintf()` before version 7.51.0 can be tricked into doing a double-free due to an unsafe `size_t` multiplication, on systems using 32 bit…
7.5
CVE-2018-16890
libcurl versions from 7.36.0 to before 7.64.0 is vulnerable to a heap buffer out-of-bounds read
