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.
{
"versions": [
{
"introduced": "0"
},
{
"last_affected": "7.4.1"
},
{
"introduced": "0"
},
{
"last_affected": "7.35.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.36.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.37.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.37.1"
},
{
"introduced": "0"
},
{
"last_affected": "7.38.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.39.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.40.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.41.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.42.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.42.1"
},
{
"introduced": "0"
},
{
"last_affected": "7.43.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.44.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.45.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.46.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.47.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.47.1"
},
{
"introduced": "0"
},
{
"last_affected": "7.48.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.49.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.49.1"
},
{
"introduced": "0"
},
{
"last_affected": "7.50.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.50.1"
},
{
"introduced": "0"
},
{
"last_affected": "7.50.2"
},
{
"introduced": "0"
},
{
"last_affected": "7.50.3"
},
{
"introduced": "0"
},
{
"last_affected": "7.51.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.52.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.52.1"
},
{
"introduced": "0"
},
{
"last_affected": "7.53.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.53.1"
},
{
"introduced": "0"
},
{
"last_affected": "7.54.0"
},
{
"introduced": "0"
},
{
"last_affected": "7.54.1"
},
{
"introduced": "0"
},
{
"last_affected": "7.55.0"
}
]
}