Greg Kroah-Hartman
a0e0a58502
USB: fix out-of-bounds in usb_set_configuration
...
commit bd7a3fe770 upstream.
Andrey Konovalov reported a possible out-of-bounds problem for a USB interface
association descriptor. He writes:
It seems there's no proper size check of a USB_DT_INTERFACE_ASSOCIATION
descriptor. It's only checked that the size is >= 2 in
usb_parse_configuration(), so find_iad() might do out-of-bounds access
to intf_assoc->bInterfaceCount.
And he's right, we don't check for crazy descriptors of this type very well, so
resolve this problem. Yet another issue found by syzkaller...
Reported-by: Andrey Konovalov <andreyknvl@google.com >
Tested-by: Andrey Konovalov <andreyknvl@google.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk >
2017-11-11 13:34:40 +00:00
..
2016-11-20 01:01:25 +00:00
2017-03-16 02:18:56 +00:00
2014-11-05 20:27:42 +00:00
2017-06-05 21:13:48 +01:00
2017-11-11 13:34:28 +00:00
2016-02-13 10:34:04 +00:00
2017-08-26 02:14:03 +01:00
2016-08-22 22:37:11 +01:00
2017-11-11 13:34:40 +00:00
2015-11-27 12:48:21 +00:00
2014-11-05 20:27:43 +00:00
2016-04-01 01:54:32 +01:00
2015-05-09 23:16:35 +01:00
2014-12-14 16:23:47 +00:00
2015-08-12 16:33:19 +02:00
2017-02-23 03:51:02 +00:00
2015-05-09 23:16:12 +01:00
2014-12-14 16:23:48 +00:00
2014-12-14 16:23:49 +00:00
2014-12-14 16:23:49 +00:00
2016-04-01 01:54:32 +01:00
2017-03-16 02:18:29 +00:00
2017-10-12 15:27:08 +01:00
2017-10-12 15:27:22 +01:00
2016-02-13 10:34:12 +00:00
2015-01-01 01:27:50 +00:00
2017-11-11 13:34:33 +00:00
2015-02-20 00:49:37 +00:00
2016-01-22 21:40:04 +00:00
2016-08-22 22:37:17 +01:00
2017-02-23 03:51:05 +00:00
2016-11-20 01:01:43 +00:00
2015-10-13 03:46:05 +01:00
2015-05-09 23:16:15 +01:00
2014-06-09 13:29:03 +01:00
2016-06-15 21:28:14 +01:00
2016-02-27 14:28:41 +00:00
2016-06-15 21:28:12 +01:00
2016-11-20 01:01:28 +00:00
2016-05-01 00:05:25 +02:00
2014-07-11 13:33:34 +01:00
2015-11-27 12:48:21 +00:00
2015-08-07 00:32:02 +01:00
2014-11-05 20:27:43 +00:00
2015-02-20 00:49:30 +00:00
2015-05-09 23:16:12 +01:00
2014-12-14 16:23:52 +00:00
2017-09-15 18:30:44 +01:00
2014-06-09 13:29:03 +01:00
2016-04-01 01:54:35 +01:00
2017-03-16 02:18:59 +00:00
2017-02-23 03:51:04 +00:00
2014-07-11 13:33:53 +01:00
2014-08-06 18:07:37 +01:00
2014-09-13 23:41:50 +01:00
2016-08-22 22:37:15 +01:00
2017-07-02 17:12:47 +01:00
2014-09-13 23:41:41 +01:00
2016-11-20 01:01:42 +00:00
2016-11-20 01:01:42 +00:00
2017-03-16 02:18:42 +00:00
2016-04-01 01:54:31 +01:00
2015-08-12 16:33:16 +02:00
2015-08-07 00:32:09 +01:00
2015-08-07 00:32:16 +01:00
2016-05-01 00:05:15 +02:00
2017-11-11 13:34:31 +00:00
2016-02-27 14:28:49 +00:00
2016-04-01 01:54:37 +01:00
2016-11-20 01:01:44 +00:00
2016-02-13 10:34:10 +00:00
2017-09-15 18:30:57 +01:00
2014-07-11 13:33:35 +01:00
2015-02-20 00:49:35 +00:00
2017-10-12 15:27:22 +01:00
2015-10-13 03:46:08 +01:00
2016-11-20 01:01:28 +00:00
2017-09-15 18:30:50 +01:00
2014-08-06 18:07:42 +01:00
2014-12-14 16:23:49 +00:00
2015-02-20 00:49:37 +00:00
2015-02-20 00:49:34 +00:00
2016-04-01 01:54:32 +01:00
2016-06-15 21:28:11 +01:00
2015-02-20 00:49:34 +00:00
2015-02-20 00:49:35 +00:00