CVE-2024-35843CWE-416

CVE-2024-35843

High · published May 17, 2024

CVSS v3.1
8.8
EPSS
0%
Percentile
11.5
In the wild
Unconfirmed
What it is

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

iommu/vt-d: Use device rbtree in iopf reporting path

The existing I/O page fault handler currently locates the PCI device by

calling pci_get_domain_bus_and_slot(). This function searches the list

of all PCI devices until the desired device is found. To improve lookup

efficiency, replace it with device_rbtree_find() to search the device

within the probed device rbtree.

The I/O page fault is initiated by the device, which does not have any

synchronization mechanism with the software to ensure that the device

stays in the probed device tree. Theoretically, a device could be released

by the IOMMU subsystem after device_rbtree_find() and before

iopf_get_dev_fault_param(), which would cause a use-after-free problem.

Add a mutex to synchronize the I/O page fault reporting path and the IOMMU

release device path. This lock doesn't introduce any performance overhead,

as the conflict between I/O page fault reporting and device releasing is

very rare.

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00216 · 11.5th percentile
Weakness
CWE-416 · Use After Free
Published
2024-05-17T19:15Z
Affected products (1)
ProductVersionsFixed in
linux/linux_kernel< 6.8.26.8.2
References (4)
EPSS history
Timeline
  • 17 MAY 14:40Z
    iommu/vt-d: Use device rbtree in iopf reporting path
    cvelistv5