linux/drivers/media/usb
James Patrick-Evans 785ef73dba [media] airspy: fix error logic during device register
This patch addresses CVE-2016-5400, a local DOS vulnerability caused by
a memory leak in the airspy usb device driver.

The vulnerability is triggered when more than 64 usb devices register
with v4l2 of type VFL_TYPE_SDR or VFL_TYPE_SUBDEV.A badusb device can
emulate 64 of these devices then through continual emulated
connect/disconnect of the 65th device, cause the kernel to run out of
RAM and crash the kernel.

The vulnerability exists in kernel versions from 3.17 to current 4.7.

The memory leak is caused by the probe function of the airspy driver
mishandeling errors and not freeing the corresponding control structures
when an error occours registering the device to v4l2 core.

Signed-off-by: James Patrick-Evans <james@jmp-e.com>
Cc: stable@vger.kernel.org # Up to Kernel 3.17
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-15 13:32:21 -03:00
..
airspy [media] airspy: fix error logic during device register 2016-07-15 13:32:21 -03:00
as102 [media] drivers/media/usb/as102: constify as102_priv_ops_t structure 2016-02-01 07:31:48 -02:00
au0828 [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
b2c2 [media] media: change email address 2016-01-25 12:01:08 -02:00
cpia2 [media] usb/cpia2_core: clean up a min_t() cast 2016-02-19 08:10:32 -02:00
cx231xx [media] cx231xx: use v4l2_s_ctrl instead of the s_ctrl op 2016-07-12 11:14:27 -03:00
dvb-usb [media] dvb-usb: silence an uninitialized variable warning 2016-07-13 13:13:22 -03:00
dvb-usb-v2 [media] af9035: fix dual tuner detection with PCTV 79e 2016-07-15 11:44:10 -03:00
em28xx [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
go7007 [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
gspca [media] zc3xx: Remove deprecated create_singlethread_workqueue 2016-07-09 07:43:53 -03:00
hackrf [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
hdpvr [media] hdpvr: Remove deprecated create_singlethread_workqueue 2016-07-08 15:02:57 -03:00
msi2500 [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
pvrusb2 [media] pvrusb2: use v4l2_s_ctrl instead of the s_ctrl op 2016-07-12 11:12:24 -03:00
pwc [media] pwc: hide unused label 2016-07-08 14:56:22 -03:00
s2255 [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
siano [media] media_device: move allocation out of media_device_*_init 2016-02-23 07:19:39 -03:00
stk1160 [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
stkwebcam [media] stk-webcam: Delete an unnecessary check before the function call "vfree" 2015-03-02 14:53:27 -03:00
tm6000 [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
ttusb-budget [media] dvb: Get rid of typedev usage for enums 2015-06-09 17:47:35 -03:00
ttusb-dec [media] ttusb-dec: constify ttusbdecfe_config structure 2015-11-19 11:22:15 -02:00
usbtv [media] media: usbtv: prevent access to free'd resources 2016-07-12 13:31:08 -03:00
usbvision [media] usbvision: use v4l2_ctrl_g_ctrl instead of the g_ctrl op 2016-07-12 11:12:59 -03:00
uvc Linux 4.7-rc6 2016-07-08 18:14:03 -03:00
zr364xx [media] usb drivers: use BUG_ON() instead of if () BUG 2015-06-09 18:30:09 -03:00
Kconfig [media] tlg2300: move to staging in preparation for removal 2014-12-16 23:21:43 -02:00
Makefile [media] tlg2300: move to staging in preparation for removal 2014-12-16 23:21:43 -02:00