]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
HID: Fix assumption that devices have inputs
authorAlan Stern <stern@rowland.harvard.edu>
Thu, 3 Oct 2019 18:53:59 +0000 (14:53 -0400)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 12 Nov 2019 17:47:17 +0000 (18:47 +0100)
commit6083d130c656f3c80a5a34095e3a512b993f5061
tree67676ff505fa505811c0a56fe3ccf9a74e5eaa4c
parent1db8c47b6a55bbe261e1657ceb33f817ba2fd972
HID: Fix assumption that devices have inputs

BugLink: https://bugs.launchpad.net/bugs/1851550
commit d9d4b1e46d9543a82c23f6df03f4ad697dab361b upstream.

The syzbot fuzzer found a slab-out-of-bounds write bug in the hid-gaff
driver.  The problem is caused by the driver's assumption that the
device must have an input report.  While this will be true for all
normal HID input devices, a suitably malicious device can violate the
assumption.

The same assumption is present in over a dozen other HID drivers.
This patch fixes them by checking that the list of hid_inputs for the
hid_device is nonempty before allowing it to be used.

Reported-and-tested-by: syzbot+403741a091bf41d4ae79@syzkaller.appspotmail.com
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: <stable@vger.kernel.org>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Connor Kuehl <connor.kuehl@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
14 files changed:
drivers/hid/hid-axff.c
drivers/hid/hid-dr.c
drivers/hid/hid-emsff.c
drivers/hid/hid-gaff.c
drivers/hid/hid-holtekff.c
drivers/hid/hid-lg2ff.c
drivers/hid/hid-lg3ff.c
drivers/hid/hid-lg4ff.c
drivers/hid/hid-lgff.c
drivers/hid/hid-logitech-hidpp.c
drivers/hid/hid-microsoft.c
drivers/hid/hid-sony.c
drivers/hid/hid-tmff.c
drivers/hid/hid-zpff.c