URI_FUNC() in UriParse.c in uriparser before 0.9.1 has an out-of-bounds read (in uriParseEx functions) for an incomplete URI with an IPv6 address containing an embedded IPv4 address, such as a "//[::44.1" address.
[
{
"deprecated": false,
"target": {
"file": "src/UriParse.c"
},
"signature_type": "Line",
"source": "https://github.com/uriparser/uriparser/commit/cef25028de5ff872c2e1f0a6c562eb3ea9ecbce4",
"signature_version": "v1",
"id": "CVE-2018-20721-4434bc5e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"298959475600171116201057560050674086179",
"215581821721008525431947121099457754519",
"201805718942423830449133541022097869316",
"260694568477623545972598510528977911363"
]
}
},
{
"deprecated": false,
"target": {
"file": "test/test.cpp"
},
"signature_type": "Line",
"source": "https://github.com/uriparser/uriparser/commit/cef25028de5ff872c2e1f0a6c562eb3ea9ecbce4",
"signature_version": "v1",
"id": "CVE-2018-20721-b03f06b3",
"digest": {
"threshold": 0.9,
"line_hashes": [
"338453238041534226044660422606642359923",
"158901063685954033803528095984396445438",
"43762078588843109887431033654435444035"
]
}
}
]