Name | CVE-2016-8622 |
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. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DLA-711-1, DSA-3705-1 |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
curl (PTS) | jessie, jessie (lts) | 7.38.0-4+deb8u28 | fixed |
stretch (security) | 7.52.1-5+deb9u16 | fixed | |
stretch (lts), stretch | 7.52.1-5+deb9u22 | fixed | |
buster, buster (lts) | 7.64.0-4+deb10u10 | fixed | |
buster (security) | 7.64.0-4+deb10u9 | fixed | |
bullseye | 7.74.0-1.3+deb11u13 | fixed | |
bullseye (security) | 7.74.0-1.3+deb11u14 | fixed | |
bookworm | 7.88.1-10+deb12u8 | fixed | |
bookworm (security) | 7.88.1-10+deb12u5 | fixed | |
sid, trixie | 8.11.1-1 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
curl | source | wheezy | 7.26.0-1+wheezy17 | DLA-711-1 | ||
curl | source | jessie | 7.38.0-4+deb8u5 | DSA-3705-1 | ||
curl | source | (unstable) | 7.51.0-1 |
https://github.com/curl/curl/commit/53e71e47d6b81650d26ec33a58d0dca24c7ffb2c
https://curl.haxx.se/docs/adv_20161102H.html
https://curl.haxx.se/CVE-2016-8622.patch