CVE-2017-1000257
curl: IMAP FETCH response out of bounds read
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
An IMAP FETCH response line indicates the size of the returned data, in number of bytes. When that response says the data is zero bytes, libcurl would pass on that (non-existing) data with a pointer and the size (zero) to the deliver-data function. libcurl's deliver-data function treats zero as a magic number and invokes strlen() on the data to figure out the length. The strlen() is called on a heap based buffer that might not be zero terminated so libcurl might read beyond the end of it into whatever memory lies after (or just crash) and then deliver that to the application as if it was actually downloaded.
Una línea de respuesta IMAP FETCH indica el tamaño de los datos devueltos en número de bytes. Cuando una respuesta indica que el tamaño de los datos es cero bytes, libcurl pasaría esos datos (inexistentes) con un puntero y el tamaño (cero) a la función deliver-data. La función deliver-data de libcurl trata el cero como un número mágico e invoca strlen() en los datos para adivinar la longitud. Se llama a strlen() en un búfer basado en memoria dinámica (heap) que podría no terminar en cero, por lo que libcurl podría leer más allá del final del búfer en cualquier memoria en la que se encuentre después (o simplemente provocar un cierre inesperado) y entregar los datos a la aplicación como si en realidad se hubieran descargado.
A buffer overrun flaw was found in the IMAP handler of libcurl. By tricking an unsuspecting user into connecting to a malicious IMAP server, an attacker could exploit this flaw to potentially cause information disclosure or crash the application.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2017-10-23 CVE Published
- 2017-10-31 CVE Reserved
- 2023-06-20 EPSS Updated
- 2024-08-05 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer
- CWE-125: Out-of-bounds Read
CAPEC
References (10)
URL | Tag | Source |
---|---|---|
http://www.securityfocus.com/bid/101519 | Third Party Advisory | |
http://www.securitytracker.com/id/1039644 | Third Party Advisory |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
http://www.debian.org/security/2017/dsa-4007 | 2018-11-13 | |
https://access.redhat.com/errata/RHSA-2017:3263 | 2018-11-13 | |
https://access.redhat.com/errata/RHSA-2018:2486 | 2018-11-13 | |
https://access.redhat.com/errata/RHSA-2018:3558 | 2018-11-13 | |
https://curl.haxx.se/docs/adv_20171023.html | 2018-11-13 | |
https://security.gentoo.org/glsa/201712-04 | 2018-11-13 | |
https://access.redhat.com/security/cve/CVE-2017-1000257 | 2018-11-13 | |
https://bugzilla.redhat.com/show_bug.cgi?id=1503705 | 2018-11-13 |
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Haxx Search vendor "Haxx" | Libcurl Search vendor "Haxx" for product "Libcurl" | >= 7.20.0 <= 7.56.0 Search vendor "Haxx" for product "Libcurl" and version " >= 7.20.0 <= 7.56.0" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 8.0 Search vendor "Debian" for product "Debian Linux" and version "8.0" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 9.0 Search vendor "Debian" for product "Debian Linux" and version "9.0" | - |
Affected
|