CVE-2016-8622: haxx libcurl Heap-based Buffer Overflow
Vulnerability summary
CVE-2016-8622 is a critical (CVSS 9.8) Heap-based Buffer Overflow vulnerability in haxx libcurl. EPSS estimates a 4.67% chance of exploitation in the next 30 days, higher than 91.6% of scored vulnerabilities.
Advisory lineage
Upstream 0 · Downstream 9 · Related 5Timeline
- 31-07-2018PublishedVulnerability first disclosed.
- 15-04-2026Last modifiedVulnerability information updated.
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 metrics
6 scores · 5 sources · 2 versions- CVE.orgCNA3.7LowCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:NDiffers
- OSV · AlpineEcosystem advisory · calculated9.8CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- OSV · UbuntuEcosystem advisory · calculated3.7LowCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:NDiffers
- OSV · DebianEcosystem advisory · calculated9.8CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS trend
Probability
4.67%
Chance of exploitation in the next 30 days
Percentile
92%
Versus all other CVEs
30-day change
0.00 pp
From 4.67% on 18-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-122Heap-based Buffer OverflowA heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
- CWE-190Integer Overflow or WraparoundThe product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
- CWE-787Out-of-bounds WriteThe product writes data past the end, or before the beginning, of the intended buffer.
Affected systems
Alpine1 product
- curl< 7.51.0-r0 | < 7.51.0 | < 7.49.1-r4
Debian1 product
- curl< 7.51.0-1
Haxx1 product
- libcurl< 7.51.0
The curl project1 product
- curl7.51.0
Ubuntu1 product
- curl< 7.35.0-1ubuntu2.10 | < 7.47.0-1ubuntu2.2
5 vendors · 5 products
References
14 links- www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.htmlX Refsource CONFIRM
- bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-8622X Refsource CONFIRMIssue TrackingPatchThird Party Advisory