Patch "USB: digi_acceleport: do sanity checking for the number of ports" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
USB: digi_acceleport: do sanity checking for the number of ports
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
usb-digi_acceleport-do-sanity-checking-for-the-number-of-ports.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
5a07975ad0a36708c6b0a5b9fea1ff811d0b0c1fMon Sep 17 00:00:00 2001
From: Oliver Neukum <[email protected]>
Date: Thu, 31 Mar 2016 12:04:26 -0400
Subject: USB: digi_acceleport: do sanity checking for the number of ports
From: Oliver Neukum <[email protected]>
commit 5a07975ad0a36708c6b0a5b9fea1ff811d0b0c1f upstream.
The driver can be crashed with devices that expose crafted descriptors with too few endpoints.
See: http://seclists.org/bugtraq/2016/Mar/61
--- drivers/usb/serial/digi_acceleport.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
drivers/usb/serial/digi_acceleport.c +19 -0
@@ -1251,8 +1251,27 @@ static int digi_port_init(struct usb_serstatic int digi_startup (struct usb_serial *serial) { +struct device *dev = &serial->interface->dev;struct digi_serial *serial_priv;int ret; +int i; + +/* check whether the device has the expected number of endpoints */ +if (serial->num_port_pointers < serial->type->num_ports +1 ) { +dev_err (dev,"OOB endpoints missing\n" ); +return -ENODEV ; + } + +for (i =0 ; i < serial->type->num_ports +1 ; i++) { +if (!serial->port[i]->read_urb) { +dev_err (dev,"bulk-in endpoint missing\n" ); +return -ENODEV ; + } +if (!serial->port[i]->write_urb) { +dev_err (dev,"bulk-out endpoint missing\n" ); +return -ENODEV ; + } + } serial_priv =kzalloc (sizeof (*serial_priv),GFP_KERNEL );if (!serial_priv)
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/usb-cdc-acm-more-sanity-checking.patch queue-4.4/usb-mct_u232-add-sanity-checking-in-probe.patch queue-4.4/usb-digi_acceleport-do-sanity-checking-for-the-number-of-ports.patch queue-4.4/usb-cypress_m8-add-endpoint-sanity-check.patch queue-4.4/usb-retry-reset-if-a-device-times-out.patch queue-4.4/usb-hub-fix-a-typo-in-hub_port_init-leading-to-wrong-logic.patch queue-4.4/usb-usb_driver_claim_interface-add-sanity-checking.patch