Re: Null pointer deference in function stk_camera_probe and s2255_probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 11, 2019 at 10:51:47AM +0800, Yang Xiao wrote:
> Hi,
> 
> There are NULL pointer deferences in the function stk_camera_probe in
> drivers/media/usb/stkwebcam/stk-webcam.c and function s2255_probe in
> drivers/media/usb/s2255/s2255drv.c, which allows proximate attackers
> to cause a denial of service via a crafted endpoints value in USB
> device descriptor.
> 
> 1286 static int stk_camera_probe(struct usb_interface *interface,
> 1287		const struct usb_device_id *id)
>         ...
> 1351	iface_desc = interface->cur_altsetting;
> 1352
> 1353	for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
> 1354		endpoint = &iface_desc->endpoint[i].desc;
> 1355
> 1356		if (!dev->isoc_ep
> 1357			&& usb_endpoint_is_isoc_in(endpoint)) {
> 1358			/* we found an isoc in endpoint */
> 1359			dev->isoc_ep = usb_endpoint_num(endpoint);
> 1360			break;
> 1361		}
> 1362	}
> 
> The driver expects at least one valid endpoint. If given malicious
> descriptors that specify 0 for the number of endpoints, it will crash
> in the probe function (NULL POINTER DEFERENCE in line 1354).
> 
> The same reason to function s2255_probe.
> 
> The reason of this vulnerability is the same as CVE-2016-2188, which
> was fixed in commit 4ec0ef3a82125efc36173062a50624550a900ae0.

Can you please resend your patch in a format that I can apply it in?

Actually, it needs to go to the correct maintainer/subsystem, please use
scripts/get_maintainer.pl on your patch to determine that.

thanks,

greg k-h



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux