From: Greg Kroah-Hartman Date: Tue, 1 Sep 2020 14:41:38 +0000 (+0200) Subject: 4.14-stable patches X-Git-Tag: v4.4.235~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3742e460d9e3fd9d41185e8ea7c15235dfb8f67c;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: hid-hiddev-fix-slab-out-of-bounds-write-in-hiddev_ioctl_usage.patch --- diff --git a/queue-4.14/hid-hiddev-fix-slab-out-of-bounds-write-in-hiddev_ioctl_usage.patch b/queue-4.14/hid-hiddev-fix-slab-out-of-bounds-write-in-hiddev_ioctl_usage.patch new file mode 100644 index 00000000000..8c5532d9bca --- /dev/null +++ b/queue-4.14/hid-hiddev-fix-slab-out-of-bounds-write-in-hiddev_ioctl_usage.patch @@ -0,0 +1,42 @@ +From 25a097f5204675550afb879ee18238ca917cba7a Mon Sep 17 00:00:00 2001 +From: Peilin Ye +Date: Wed, 29 Jul 2020 07:37:12 -0400 +Subject: HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage() + +From: Peilin Ye + +commit 25a097f5204675550afb879ee18238ca917cba7a upstream. + +`uref->usage_index` is not always being properly checked, causing +hiddev_ioctl_usage() to go out of bounds under some cases. Fix it. + +Reported-by: syzbot+34ee1b45d88571c2fa8b@syzkaller.appspotmail.com +Link: https://syzkaller.appspot.com/bug?id=f2aebe90b8c56806b050a20b36f51ed6acabe802 +Reviewed-by: Dan Carpenter +Signed-off-by: Peilin Ye +Signed-off-by: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/usbhid/hiddev.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/hid/usbhid/hiddev.c ++++ b/drivers/hid/usbhid/hiddev.c +@@ -532,12 +532,16 @@ static noinline int hiddev_ioctl_usage(s + + switch (cmd) { + case HIDIOCGUSAGE: ++ if (uref->usage_index >= field->report_count) ++ goto inval; + uref->value = field->value[uref->usage_index]; + if (copy_to_user(user_arg, uref, sizeof(*uref))) + goto fault; + goto goodreturn; + + case HIDIOCSUSAGE: ++ if (uref->usage_index >= field->report_count) ++ goto inval; + field->value[uref->usage_index] = uref->value; + goto goodreturn; + diff --git a/queue-4.14/series b/queue-4.14/series index e46867c6203..19362713d50 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -87,3 +87,4 @@ usb-cdc-acm-rework-notification_buffer-resizing.patch usb-storage-add-unusual_uas-entry-for-sony-psz-drives.patch btrfs-check-the-right-error-variable-in-btrfs_del_di.patch tpm-unify-the-mismatching-tpm-space-buffer-sizes.patch +hid-hiddev-fix-slab-out-of-bounds-write-in-hiddev_ioctl_usage.patch