CVE-2017-1000257: Buffer Overflow
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.
Introduced with:
https://github.com/curl/curl/commit/ec3bb8f727
External References:
https://curl.haxx.se/docs/adv20171023.html
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/curlto a version that resolves this vulnerability.Fixed in 7.56.1
Event History
Frequently Asked Questions
What is the severity of CVE-2017-1000257?
CVE-2017-1000257 has a medium severity rating as it involves improper handling of zero-byte data leading to potential issues.
How do I fix CVE-2017-1000257?
To fix CVE-2017-1000257, you should upgrade libcurl to version 7.56.1 or higher.
What software is affected by CVE-2017-1000257?
CVE-2017-1000257 affects libcurl versions from 7.20.0 up to 7.56.0, and it is also found in specific versions of the curl package on Red Hat and Debian.
What is the impact of CVE-2017-1000257?
The impact of CVE-2017-1000257 includes potential miscommunication in data handling that might lead to application failures.
Is CVE-2017-1000257 remote exploit?
CVE-2017-1000257 is not considered a remote exploit as it primarily affects local data handling within applications using libcurl.