CVE-2026-31606

Summary

In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: f_hid: don't call cdev_init while cdev in use

When calling unbind, then bind again, cdev_init reinitialized the cdev, even though there may still be references to it. That's the case when the /dev/hidg* device is still opened. This obviously unsafe behavior like oopes.

This fixes this by using cdev_alloc to put the cdev on the heap. That way, we can simply allocate a new one in hidg_bind.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxcb382536052fcc7713988869b54a81137069e5a9 < c6c0d13db5d0f8d465eabc14bd23d2b6a7247a43affected
LinuxLinuxcb382536052fcc7713988869b54a81137069e5a9 < eb6ef6185f2054a341ec70d7e2165f5381744215affected
LinuxLinuxcb382536052fcc7713988869b54a81137069e5a9 < 5a229016ca3ac551294ec59770be9da94ec4bf63affected
LinuxLinuxcb382536052fcc7713988869b54a81137069e5a9 < 75ecc46828ec377dd5692c677168ef6d64fd7123affected
LinuxLinuxcb382536052fcc7713988869b54a81137069e5a9 < 81ebd43cc0d6d106ce7b6ccbf7b5e40ca7f5503daffected
LinuxLinux3.19affected
LinuxLinux0 < 3.19unaffected
LinuxLinux6.12.83 <= 6.12.*unaffected
LinuxLinux6.18.24 <= 6.18.*unaffected
LinuxLinux6.19.14 <= 6.19.*unaffected
LinuxLinux7.0.1 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References