usb: core: fix information leak to userland
Structure usbdevfs_connectinfo is copied to userland with padding byted after "slow" field uninitialized. It leads to leaking of contents of kernel stack memory. Signed-off-by: Vasiliy Kulikov <segooon@gmail.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
eca67aaeeb
commit
886ccd4520
|
@ -965,10 +965,11 @@ static int proc_getdriver(struct dev_state *ps, void __user *arg)
|
|||
|
||||
static int proc_connectinfo(struct dev_state *ps, void __user *arg)
|
||||
{
|
||||
struct usbdevfs_connectinfo ci;
|
||||
struct usbdevfs_connectinfo ci = {
|
||||
.devnum = ps->dev->devnum,
|
||||
.slow = ps->dev->speed == USB_SPEED_LOW
|
||||
};
|
||||
|
||||
ci.devnum = ps->dev->devnum;
|
||||
ci.slow = ps->dev->speed == USB_SPEED_LOW;
|
||||
if (copy_to_user(arg, &ci, sizeof(ci)))
|
||||
return -EFAULT;
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue