driver core: enforce device_lock for driver_match_device()
CVE-2026-31688 is fixed in 80 products on 1 platform, first by ALAS2023-2026-1487, released March 16, 2026. It is not reported as exploited. Patch Radar priority: High.
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.
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| bpftool6.12 · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| bpftool6.12-debuginfo · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| bpftool6.18 · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| bpftool6.18-debuginfo · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel-livepatch-6.12.73-95.123 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel-livepatch-6.18.15-14.217 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel-uek · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-devel · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-devel · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-deprecated · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-deprecated · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-desktop · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-desktop · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-extra · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-extra · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-extra-netfilter · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-extra-netfilter · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-usb · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-usb · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-wireless · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-wireless · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-devel · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-devel · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-doc · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-doc · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-deprecated · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-deprecated · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-desktop · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-desktop · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-extra · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-extra · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-extra-netfilter · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-extra-netfilter · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-usb · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-usb · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-wireless · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-wireless · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-tools · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-tools · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-devel · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-devel · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-deprecated · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-deprecated · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-desktop · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-desktop · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-extra · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-extra · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-extra-netfilter · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-extra-netfilter · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-usb · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-usb · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-wireless · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-wireless · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel6.12 · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-debuginfo · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-debuginfo-common-aarch64 · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-debuginfo-common-x86_64 · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-devel · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-headers · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-libbpf · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-libbpf-debuginfo · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-libbpf-devel · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-libbpf-static · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-modules-extra · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-modules-extra-common · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-tools · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-tools-debuginfo · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.12-tools-devel · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| kernel6.18 · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-debuginfo · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-debuginfo-common-aarch64 · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-debuginfo-common-x86_64 · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-devel · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-headers · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-libbpf · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-libbpf-debuginfo · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-libbpf-devel · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-libbpf-static · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-modules-extra · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-modules-extra-common · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-tools · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-tools-debuginfo · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| kernel6.18-tools-devel · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| linux · Debian 14 | 7.0.3-1 | DEBIAN-CVE-2026-31688 | May 15, 2026 |
| perf6.12 · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| perf6.12-debuginfo · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| perf6.18 · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| perf6.18-debuginfo · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| python3-perf6.12 · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| python3-perf6.12-debuginfo · amzn 2023 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 | Mar 16, 2026 |
| python3-perf6.18 · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
| python3-perf6.18-debuginfo · amzn 2023 | 1:6.18.15-14.217.amzn2023 | ALAS2023-2026-1514 | Mar 30, 2026 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.