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
.
{ "CWE": { "id": "CWE-126", "desc": "Buffer Over-read" }, "package": "curl", "URL": "https://curl.se/docs/CVE-2017-1000101.json", "severity": "Medium", "www": "https://curl.se/docs/CVE-2017-1000101.html", "last_affected": "7.54.1" }