]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 13 May 2019 17:14:29 +0000 (13:14 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 9 Jun 2019 07:16:07 +0000 (09:16 +0200)
commit7cfb3a00564c6eb6654c604959fef859af2333b6
treebc27c1048a2f94c3764a46e594ae2978e4f8ba3f
parente0161d24117e8755d99a35a255e7d58f060770b2
USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor

commit a03ff54460817c76105f81f3aa8ef655759ccc9a upstream.

The syzkaller USB fuzzer found a slab-out-of-bounds write bug in the
USB core, caused by a failure to check the actual size of a BOS
descriptor.  This patch adds a check to make sure the descriptor is at
least as large as it is supposed to be, so that the code doesn't
inadvertently access memory beyond the end of the allocated region
when assigning to dev->bos->desc->bNumDeviceCaps later on.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-and-tested-by: syzbot+71f1e64501a309fcc012@syzkaller.appspotmail.com
CC: <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/config.c