An out-of-bounds write flaw was found in usbredir. Starting an isochronous OUT stream with a transfer count of 1 leaves the stream's single transfer buffer permanently unsubmitted, defeating the bounds check in usbredirhost_iso_packet() and allowing a usbredir peer to write past the end of the packet descriptor array on every subsequent isochronous packet.
{
"binaries": [
{
"binary_name": "libusbredirhost1",
"binary_version": "0.11.0-2build1"
},
{
"binary_name": "libusbredirparser1",
"binary_version": "0.11.0-2build1"
},
{
"binary_name": "usbredirect",
"binary_version": "0.11.0-2build1"
},
{
"binary_name": "usbredirserver",
"binary_version": "0.11.0-2build1"
}
]
}{
"binaries": [
{
"binary_name": "libusbredirhost1",
"binary_version": "0.7.1-1ubuntu0.16.04.1~esm1"
},
{
"binary_name": "libusbredirparser1",
"binary_version": "0.7.1-1ubuntu0.16.04.1~esm1"
},
{
"binary_name": "usbredirserver",
"binary_version": "0.7.1-1ubuntu0.16.04.1~esm1"
}
]
}