
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-31688 is a use-after-free (UAF) vulnerability in the Linux kernel's driver core subsystem, caused by improper resource locking in driver_match_device(). The function is called from three sites, but only one (__device_attach_driver) holds device_lock(dev), while bind_store() and __driver_attach() do not, creating a race condition that can lead to UAF when driver_override is in use. It affects Linux kernel versions from 2.6.30 up to (but not including) 7.0. Disclosed on April 27, 2026, it carries a CVSS v3.1 base score of 7.8 (High) (GitHub Advisory, Red Hat Bugzilla).
The root cause is classified as CWE-413 (Improper Resource Locking) and CWE-416 (Use After Free). The driver_match_device() function is invoked inconsistently — only one of three call sites holds the device_lock, meaning bus match() callbacks are not guaranteed to execute under the lock. The driver_override field relies on device_lock for memory safety; without it, a race window exists where the memory backing driver_override can be freed and reallocated while another thread is still reading it, resulting in a UAF condition. The fix introduces driver_match_device_locked(), which enforces the lock via a scoped guard, and adds a lock assertion to driver_match_device() to prevent future regressions (GitHub Advisory, Red Hat Bugzilla).
Successful exploitation of this race condition can result in denial of service, memory corruption, or local privilege escalation, depending on an attacker's ability to control the timing of device attachment and driver matching operations. The vulnerability has high confidentiality, integrity, and availability impact, as a local attacker with low privileges could potentially gain elevated access or crash the kernel. Systems that actively use the driver_override functionality are at greatest risk, as the race window directly affects memory safety in that code path (GitHub Advisory, Feedly).
There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time. The vulnerability requires local access with low privileges (no user interaction needed), making it a realistic target for local privilege escalation attacks but not remotely exploitable. The EPSS score is approximately 0.018% (4th percentile), indicating a low near-term exploitation probability. CVE-2026-31688 is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (GitHub Advisory).
The fix is available in the upstream Linux kernel patch commit dc23806a7c47ec5f1293aba407fb69519f976ee0, which introduces driver_match_device_locked() and enforces proper locking across all call sites. Administrators should update to a patched kernel version (7.0 or later, or a backported stable release containing the fix). Organizations using driver_override functionality should prioritize this patch. No configuration-based workaround is known; upgrading the kernel is the recommended remediation (GitHub Advisory, Kernel Patch).
The vulnerability was reported via the Linux kernel CVE announcement mailing list by Greg Kroah-Hartman and tracked by Red Hat's Product Security team. The Red Hat Bugzilla entry notes the upstream advisory and assigns medium severity internally. No significant broader media coverage or notable researcher commentary beyond standard vulnerability tracking has been observed (Red Hat Bugzilla).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."