1. 18 12月, 2019 15 次提交
  2. 17 12月, 2019 7 次提交
  3. 12 12月, 2019 14 次提交
  4. 10 12月, 2019 1 次提交
  5. 27 11月, 2019 2 次提交
  6. 24 11月, 2019 1 次提交
    • D
      tty: vt: keyboard: reject invalid keycodes · b2b2dd71
      Dmitry Torokhov 提交于
      Do not try to handle keycodes that are too big, otherwise we risk doing
      out-of-bounds writes:
      
      BUG: KASAN: global-out-of-bounds in clear_bit include/asm-generic/bitops-instrumented.h:56 [inline]
      BUG: KASAN: global-out-of-bounds in kbd_keycode drivers/tty/vt/keyboard.c:1411 [inline]
      BUG: KASAN: global-out-of-bounds in kbd_event+0xe6b/0x3790 drivers/tty/vt/keyboard.c:1495
      Write of size 8 at addr ffffffff89a1b2d8 by task syz-executor108/1722
      ...
       kbd_keycode drivers/tty/vt/keyboard.c:1411 [inline]
       kbd_event+0xe6b/0x3790 drivers/tty/vt/keyboard.c:1495
       input_to_handler+0x3b6/0x4c0 drivers/input/input.c:118
       input_pass_values.part.0+0x2e3/0x720 drivers/input/input.c:145
       input_pass_values drivers/input/input.c:949 [inline]
       input_set_keycode+0x290/0x320 drivers/input/input.c:954
       evdev_handle_set_keycode_v2+0xc4/0x120 drivers/input/evdev.c:882
       evdev_do_ioctl drivers/input/evdev.c:1150 [inline]
      
      In this case we were dealing with a fuzzed HID device that declared over
      12K buttons, and while HID layer should not be reporting to us such big
      keycodes, we should also be defensive and reject invalid data ourselves as
      well.
      
      Reported-by: syzbot+19340dff067c2d3835c0@syzkaller.appspotmail.com
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: stable <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20191122204220.GA129459@dtor-wsSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b2b2dd71