CVE-2026-31606 PUBLISHED

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

Assigner: Linux
Reserved: 09.03.2026 Published: 24.04.2026 Updated: 25.04.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from cb382536052fcc7713988869b54a81137069e5a9 to c6c0d13db5d0f8d465eabc14bd23d2b6a7247a43 (excl.)
  • affected from cb382536052fcc7713988869b54a81137069e5a9 to eb6ef6185f2054a341ec70d7e2165f5381744215 (excl.)
  • affected from cb382536052fcc7713988869b54a81137069e5a9 to 5a229016ca3ac551294ec59770be9da94ec4bf63 (excl.)
  • affected from cb382536052fcc7713988869b54a81137069e5a9 to 75ecc46828ec377dd5692c677168ef6d64fd7123 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.19 is affected
  • unaffected from 0 to 3.19 (excl.)
  • unaffected from 6.12.83 to 6.12.* (incl.)
  • unaffected from 6.18.24 to 6.18.* (incl.)
  • unaffected from 6.19.14 to 6.19.* (incl.)
  • unaffected from 7.0.1 to 7.0.* (incl.)

References