cURL 'file://' URL Processing Bug Lets Local Users View Portions of System Memory on the Target System
SecurityTracker Alert ID: 1039119|
SecurityTracker URL: http://securitytracker.com/id/1039119
(Links to External Site)
Date: Aug 10 2017
Disclosure of system information|
Fix Available: Yes Vendor Confirmed: Yes |
Version(s): 7.54.1 only|
A vulnerability was reported in cURL. A local user can obtain potentially sensitive information from system memory.|
A local user can load a specially crafted 'file://' URL to cause the curl application to return data from system memory.
Both the curl command line tool and the libcurl library are affected.
Even Rouault reported this vulnerability.
A local user can obtain potentially sensitive information from system memory on the target system.|
The vendor has issued a fix (7.55.0).|
The vendor advisory is available at:
Vendor URL: curl.haxx.se/docs/adv_20170809C.html (Links to External Site)
Access control error|
|Underlying OS: Linux (Any), UNIX (Any), Windows (Any)|
Source Message Contents
Subject: [oss-security] [SECURITY ADVISORY] curl: FILE buffer read out of bounds|
FILE buffer read out of bounds
Project curl Security Advisory, August 9th 2017 -
When asking to get a file from a file:// URL, libcurl provides a feature that
outputs meta-data about the file using HTTP-like headers.
The code doing this would send the wrong buffer to the user (stdout or the
application's provide callback), which could lead to other private data from
the heap to get inadvertently displayed.
The wrong buffer was an uninitialized memory area allocated on the heap and if
it turned out to not contain any zero byte, it would continue and display the
data following that buffer in memory.
We are not aware of any exploit of this flaw.
This flaw also affects the curl command line tool.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name
CVE-2017-1000099 to this issue.
This bug has been was pushed to curl in commit
- Affected versions: libcurl 7.54.1
- Not affected versions: libcurl < 7.54.1 and >= 7.55.0
libcurl is used by many applications, but not always advertised as such.
The function now sends the correct buffer to the application.
A [patch for CVE-2017-1000099](https://curl.haxx.se/CVE-2017-1000099.patch) is
We suggest you take one of the following actions immediately, in order of
A - Upgrade curl and libcurl to version 7.55.0
B - Apply the patch to your version and rebuild
C - Do not use `CURLOPT_NOBODY` *and* `CURLOPT_HEADER` with file:// URLs
It was reported to the curl project on July 15, 2017. We contacted
distros@openwall on August 1.
libcurl 7.55.0 was released on August 9 2017, coordinated with the publication
of this advisory.
Reported by Even Rouault. Discovery: credit to OSS-Fuzz. Patch by Even Rouault.
Thanks a lot!