CVE-2026-31487CWE-667

CVE-2026-31487

Medium · published April 22, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
2.0
In the wild
Unconfirmed
What it is

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

spi: use generic driver_override infrastructure

When a driver is probed through __driver_attach(), the bus' match()

callback is called without the device lock held, thus accessing the

driver_override field without a lock, which can cause a UAF.

Fix this by using the driver-core driver_override infrastructure taking

care of proper locking internally.

Note that calling match() from __driver_attach() without the device lock

held is intentional. [1]

Also note that we do not enable the driver_override feature of struct

bus_type, as SPI - in contrast to most other buses - passes "" to

sysfs_emit() when the driver_override pointer is NULL. Thus, printing

"\n" instead of "(null)\n".

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00125 · 2.0th percentile
Weakness
CWE-667 · Improper Locking
Published
2026-04-22T18:16Z
Affected products (11)
ProductVersionsFixed in
linux/linux_kernel≥ 4.20.1, < 6.12.806.12.80
linux/linux_kernel≥ 6.13, < 6.18.216.18.21
linux/linux_kernel≥ 6.19, < 6.19.116.19.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (5)
EPSS history
Timeline
  • 22 APR 13:54Z
    spi: use generic driver_override infrastructure
    cvelistv5