What’s Vulnerable › Vulnerabilities
CVE-2026-31606: usb: gadget: f_hid: don't call cdev_init while cdev in use
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-04-24 · updated 2026-10-30
Description
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 products
- Linux kernel: from 3.19 before 6.12.83; from 6.13 before 6.18.24; from 6.19 before 6.19.14; from 7.0 before 7.0.1 — fixed in 6.12.83, 6.18.24, 6.19.14, 7.0.1
- Linux: 3.19 — fixed in 7.1
How to fix
Upgrade to a fixed version: Linux kernel 6.12.83, 6.18.24, 6.19.14, 7.0.1; Linux 7.1. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/3aa77f5da0ecb00895411f4246d8a3e4db0343c2
- https://git.kernel.org/stable/c/5a229016ca3ac551294ec59770be9da94ec4bf63
- https://git.kernel.org/stable/c/75ecc46828ec377dd5692c677168ef6d64fd7123
- https://git.kernel.org/stable/c/81ebd43cc0d6d106ce7b6ccbf7b5e40ca7f5503d
- https://git.kernel.org/stable/c/92f23ab86d9524bc51dae25ed916d0e69dce5992
- https://git.kernel.org/stable/c/c6c0d13db5d0f8d465eabc14bd23d2b6a7247a43
- https://git.kernel.org/stable/c/eb6ef6185f2054a341ec70d7e2165f5381744215
Get alerted when CVE-2026-31606 or the next vulnerability affects your stack