CVE Catalog

CVE-2026-31606

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

5th percentile - higher than 5% of all known CVEs

Summary

In the Linux kernel's USB gadget f_hid function, a bug was fixed where calling bind again caused cdev_init to reinitialize the cdev even though references to it might still exist (e.g., when the /dev/hidg* device was still open). The fix uses cdev_alloc to place the cdev on the heap, so hidg_bind can simply allocate a new one.

Risk Assessment

The vulnerability can lead to unsafe behavior, including oopses, when the /dev/hidg* device is still open during an unbind/bind cycle. It may destabilize the kernel and make HID gadget services unavailable.

Recommendation

Update the Linux kernel to a version containing the fix. On devices using USB gadget HID, avoid unbind/bind cycles while /dev/hidg* is open until the update is applied.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS