CVE-2026-80769: HID: rapoo: fix missing hid_is_usb() check
In the Linux kernel, the following vulnerability has been resolved:
HID: rapoo: fix missing hidisusb() check
tousbinterface() can only be used on a hiddevice whose parent is really USB; uhid can create devices that identify as being on BUSUSB, but don't actually have a USB parent. Fix the use of tousbinterface() without a hidisusb() check.
Add a dependency on USBHID for hidisusb(), as other HID drivers do; the alternative would be to provide a simple stub implementation on !USBHID builds.
I have verified that it is currently possible to trigger a kernel splat due to this bug in an ASAN build, and that this commit fixes the issue.
Affected Software
Event History
Frequently Asked Questions
What conditions are needed to trigger the issue?
A HID device must identify as being on BUS_USB without actually having a USB parent. The description specifically notes that uhid can create such devices, causing the Rapoo HID driver to use to_usb_interface() on an invalid parent type.
What is the observed impact?
The issue can trigger a kernel splat. This was verified in an ASAN-enabled build, and the referenced fix adds a hid_is_usb() check before using to_usb_interface().
What can be done if the fix cannot be applied immediately?
The provided data identifies uhid-created devices that claim BUS_USB without a real USB parent as the triggering condition. Restricting or avoiding creation of such uhid devices can reduce exposure until the kernel fix is deployed.