From: Greg Kroah-Hartman Date: Tue, 1 Sep 2020 14:42:07 +0000 (+0200) Subject: 5.4-stable patches X-Git-Tag: v4.4.235~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e1ec39308165769e884dd5497744d66bcdc71779;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: hid-hiddev-fix-slab-out-of-bounds-write-in-hiddev_ioctl_usage.patch --- diff --git a/queue-5.4/hid-hiddev-fix-slab-out-of-bounds-write-in-hiddev_ioctl_usage.patch b/queue-5.4/hid-hiddev-fix-slab-out-of-bounds-write-in-hiddev_ioctl_usage.patch new file mode 100644 index 00000000000..799bbb67ef8 --- /dev/null +++ b/queue-5.4/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 +@@ -519,12 +519,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-5.4/series b/queue-5.4/series index 3fda4a050dd..b0db77adb2f 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -209,3 +209,4 @@ kheaders-remove-the-last-bashism-to-allow-sh-to-run-it.patch kheaders-explain-why-include-config-autoconf.h-is-excluded-from-md5sum.patch kbuild-add-variables-for-compression-tools.patch kbuild-fix-broken-builds-because-of-gzip-bzip2-lzop-variables.patch +hid-hiddev-fix-slab-out-of-bounds-write-in-hiddev_ioctl_usage.patch