USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data
authorHui Peng <benquike@gmail.com>
Wed, 12 Dec 2018 11:42:24 +0000 (12:42 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 12 Dec 2018 23:41:10 +0000 (15:41 -0800)
commit5146f95df782b0ac61abde36567e718692725c89
treea39915852a2990cf5ef7e4eea9824ddbe6abb0db
parentee28b30cbbe0b490f52ba222c9d392b99581545e
USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data

The function hso_probe reads if_num from the USB device (as an u8) and uses
it without a length check to index an array, resulting in an OOB memory read
in hso_probe or hso_get_config_data.

Add a length check for both locations and updated hso_probe to bail on
error.

This issue has been assigned CVE-2018-19985.

Reported-by: Hui Peng <benquike@gmail.com>
Reported-by: Mathias Payer <mathias.payer@nebelwelt.net>
Signed-off-by: Hui Peng <benquike@gmail.com>
Signed-off-by: Mathias Payer <mathias.payer@nebelwelt.net>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/hso.c