Skip to main content

Linux Kernel CVE-2026-31606

| EUVDEUVD-2026-25499 MEDIUM
2026-04-24 Linux GHSA-48xp-r2j8-cfx4
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local access to /dev/hidg* with low privilege suffices; no confidentiality or integrity impact - only availability loss via kernel oops on a narrowly configured system.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

6
Analysis Generated
Jul 24, 2026 - 02:54 vuln.today
CVSS changed
Apr 29, 2026 - 20:07 NVD
5.5 (MEDIUM)
Patch released
Apr 29, 2026 - 20:00 nvd
Patch available
Patch available
Apr 24, 2026 - 16:16 EUVD
EUVD ID Assigned
Apr 24, 2026 - 15:00 euvd
EUVD-2026-25499
CVE Published
Apr 24, 2026 - 14:42 nvd
MEDIUM 5.5

DescriptionCVE.org

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.

AnalysisAI

Kernel oops and denial of service in the Linux kernel USB gadget HID driver (f_hid) occurs when cdev_init reinitializes an in-use character device during a USB gadget unbind/rebind cycle while /dev/hidg* remains open. A local attacker with low privileges who holds a file descriptor to /dev/hidg0 open during a rebind operation can trigger a kernel oops, crashing the affected system. No public exploit exists and EPSS probability is 0.02% (5th percentile), indicating negligible exploitation interest; however, patched kernel versions are available across multiple stable branches.

Technical ContextAI

The vulnerable code resides in drivers/usb/gadget/function/f_hid.c, the HID function driver within the Linux kernel USB gadget framework. The gadget framework allows Linux systems to emulate USB devices (keyboards, mice, etc.) toward a USB host. A cdev (character device structure) is used to expose /dev/hidg* nodes to userspace. Prior to the fix, hidg_bind called cdev_init to reinitialize this structure in-place during rebind, even when existing file references - tracked by the kernel's reference counter - remained outstanding from an earlier bind. Reinitializing a cdev with live references is effectively a use-after-reinit condition, consistent with CWE-672 (Operation on Resource After Expiration or Release), causing kernel oopses when stale pointers are dereferenced. The fix replaces cdev_init with cdev_alloc, placing the cdev on the heap so each hidg_bind creates a fresh allocation, and the old one is retained until all references drop to zero. Affected CPE: cpe:2.3:a:linux:linux across multiple stable series confirmed by EUVD data.

RemediationAI

Upgrade to a patched kernel version: 6.12.83, 6.18.24, 6.19.14, or 7.0.1 via the Linux stable tree (https://git.kernel.org/stable/c/c6c0d13db5d0f8d465eabc14bd23d2b6a7247a43). Ubuntu users should apply USN-8488-1 (https://ubuntu.com/security/notices/USN-8488-1). Red Hat and SUSE users should monitor their respective vendor errata portals for kernel updates referencing CVE-2026-31606, as specific advisories were not included in available references. If immediate kernel upgrade is not feasible on systems serving as USB HID gadgets, a compensating control is to unload the usb_f_hid kernel module (rmmod usb_f_hid) to prevent the vulnerable code path from executing; this disables HID gadget functionality entirely. Additionally, restricting /dev/hidg* node permissions via udev rules to deny low-privilege user access reduces the exposure window for the open-file-descriptor precondition, though it does not eliminate the vulnerability if administrative processes also hold the device open during rebind.

Vendor StatusVendor

SUSE

Severity: Medium
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

Share

CVE-2026-31606 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy