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
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Configuration
Add a dependency on USB_HID for use of hid_is_usb(); alternatively provide a stub implementation for !USB_HID builds.
HID rapoo driver USB_HID dependency = required - Configuration
Check hid_is_usb() before calling to_usb_interface(), because to_usb_interface() requires a hid_device with a real USB parent.
HID rapoo driver hid_is_usb() check before to_usb_interface() = required
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.