curl / Docs / curl CVEs / URL globbing out of bounds read

CVE-2017-1000101

URL globbing out of bounds read

Project curl Security Advisory, August 9th 2017 - Permalink

VULNERABILITY

curl supports "globbing" of URLs, in which a user can pass a numerical range to have the tool iterate over those numbers to do a sequence of transfers.

In the globbing function that parses the numerical range, there was an omission that made curl read a byte beyond the end of the URL if given a carefully crafted, or just wrongly written, URL. The URL is stored in a heap based buffer, so it could then be made to wrongly read something else instead of crashing.

An example of a URL that triggers the flaw would be http://ur%20[0-60000000000000000000.

INFO

This flaw only affects the curl command line tool, not the libcurl library.

For version 7.55.0, the parser properly stops at the end of the string and a test has been added to verify this.

The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2017-1000101 to this issue.

CWE-126: Buffer Over-read

Severity: Medium

AFFECTED VERSIONS

curl is used by many applications, but not always advertised as such.

SOLUTION

RECOMMENDATIONS

We suggest you take one of the following actions immediately, in order of preference:

A - Upgrade curl to version 7.55.0

B - Apply the patch to your version and rebuild

TIMELINE

It was reported to the curl project on June 14, 2017. We contacted distros@openwall on August 1.

curl 7.55.0 was released on August 9 2017, coordinated with the publication of this advisory.

CREDITS

Thanks a lot!