CVE-2026-31688

✕ Withdrawn — historical dataHIGHNVD 7.8
7.8CVSS

In the Linux kernel, the following vulnerability has been resolved:

driver core: enforce device_lock for driver_match_device()

Currently, driver_match_device() is called from three sites. One site (__device_attach_driver) holds device_lock(dev), but the other two (bind_store and __driver_attach) do not. This inconsistency means that bus match() callbacks are not guaranteed to be called with the lock held.

Fix this by introducing driver_match_device_locked(), which guarantees holding the device lock using a scoped guard. Replace the unlocked calls in bind_store() and __driver_attach() with this new helper. Also add a lock assertion to driver_match_device() to enforce this guarantee.

This consistency also fixes a known race condition. The driver_override implementation relies on the device_lock, so the missing lock led to the use-after-free (UAF) reported in Bugzilla for buses using this field.

Stress testing the two newly locked paths for 24 hours with CONFIG_PROVE_LOCKING and CONFIG_LOCKDEP enabled showed no UAF recurrence and no lockdep warnings.

CVSS v3
7.8
EchelonGraph score
Not yet assessedThis CVE record was withdrawn by its numbering authority, so there is no vulnerability to rate.
EPSS PROB
—
EPSS %ILE
—
KEV
—Not applicable: this CVE ID was withdrawn

Published

April 27, 2026

Last Modified

May 6, 2026

Frequently asked(4)

What is CVE-2026-31688?
CVE-2026-31688 is a rejected CVE ID: its record was withdrawn on June 17, 2026 and no longer describes a vulnerability. Reason given: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.
When was the CVE record for CVE-2026-31688 published?
The CVE record for CVE-2026-31688 was published on April 27, 2026. EchelonGraph's copy of the record carries a last-modified date of May 6, 2026; the record at its source may have been updated since.
What is the CVSS score of CVE-2026-31688?
CVE-2026-31688 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2026-31688?
There is nothing to remediate under CVE-2026-31688: it is a rejected (withdrawn) CVE ID and no longer describes a vulnerability.