USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
authorBrooke Basile <brookebasile@gmail.com>
Tue, 25 Aug 2020 13:07:27 +0000 (09:07 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Sep 2020 09:21:23 +0000 (11:21 +0200)
commitf7e0611e207d8908c4f2858e244370529a76dbf7
tree68cb338f0b0f038f51b18ec5f1679ecc38026a03
parent849d2b007ad7697c3ac63cc0ebd258b39042e43f
USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()

commit 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 upstream.

Some values extracted by ncm_unwrap_ntb() could possibly lead to several
different out of bounds reads of memory.  Specifically the values passed
to netdev_alloc_skb_ip_align() need to be checked so that memory is not
overflowed.

Resolve this by applying bounds checking to a number of different
indexes and lengths of the structure parsing logic.

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Brooke Basile <brookebasile@gmail.com>
Acked-by: Felipe Balbi <balbi@kernel.org>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/f_ncm.c