HID: Fix assumption that devices have inputs
commit d9d4b1e4 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>
Showing
- drivers/hid/hid-axff.c 9 additions, 2 deletionsdrivers/hid/hid-axff.c
- drivers/hid/hid-dr.c 9 additions, 3 deletionsdrivers/hid/hid-dr.c
- drivers/hid/hid-emsff.c 9 additions, 3 deletionsdrivers/hid/hid-emsff.c
- drivers/hid/hid-gaff.c 9 additions, 3 deletionsdrivers/hid/hid-gaff.c
- drivers/hid/hid-holtekff.c 9 additions, 3 deletionsdrivers/hid/hid-holtekff.c
- drivers/hid/hid-lg2ff.c 9 additions, 3 deletionsdrivers/hid/hid-lg2ff.c
- drivers/hid/hid-lg3ff.c 9 additions, 2 deletionsdrivers/hid/hid-lg3ff.c
- drivers/hid/hid-lg4ff.c 9 additions, 2 deletionsdrivers/hid/hid-lg4ff.c
- drivers/hid/hid-lgff.c 9 additions, 2 deletionsdrivers/hid/hid-lgff.c
- drivers/hid/hid-sony.c 9 additions, 3 deletionsdrivers/hid/hid-sony.c
- drivers/hid/hid-tmff.c 9 additions, 3 deletionsdrivers/hid/hid-tmff.c
- drivers/hid/hid-zpff.c 9 additions, 3 deletionsdrivers/hid/hid-zpff.c
Loading
Please register or sign in to comment