CVE-2024-50122

PCI: Hold rescan lock while adding devices during host probe

Medium · published November 5, 2024

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

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

PCI: Hold rescan lock while adding devices during host probe

Since adding the PCI power control code, we may end up with a race between

the pwrctl platform device rescanning the bus and host controller probe

functions. The latter need to take the rescan lock when adding devices or

we may end up in an undefined state having two incompletely added devices

and hit the following crash when trying to remove the device over sysfs:

Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000

Internal error: Oops: 0000000096000004 [#1] SMP

Call trace:

__pi_strlen+0x14/0x150

kernfs_find_ns+0x80/0x13c

kernfs_remove_by_name_ns+0x54/0xf0

sysfs_remove_bin_file+0x24/0x34

pci_remove_resource_files+0x3c/0x84

pci_remove_sysfs_dev_files+0x28/0x38

pci_stop_bus_device+0x8c/0xd8

pci_stop_bus_device+0x40/0xd8

pci_stop_and_remove_bus_device_locked+0x28/0x48

remove_store+0x70/0xb0

dev_attr_store+0x20/0x38

sysfs_kf_write+0x58/0x78

kernfs_fop_write_iter+0xe8/0x184

vfs_write+0x2dc/0x308

ksys_write+0x7c/0xec

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.00188 · 8.0th percentile
Published
2024-11-05T17:10Z
EPSS history
Timeline
  • 05 NOV 17:10Z
    PCI: Hold rescan lock while adding devices during host probe
    cvelistv5