CVE-2024-35843: iommu/vt-d: Use device rbtree in iopf reporting path
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 pcigetdomainbusandslot(). This function searches the list of all PCI devices until the desired device is found. To improve lookup efficiency, replace it with devicerbtreefind() 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 devicerbtreefind() and before iopfgetdevfaultparam(), 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.
Other sources
In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Use device rbtree in iopf reporting path
The Linux kernel CVE team has assigned CVE-2024-35843 to this issue.
Upstream advisory: https://lore.kernel.org/linux-cve-announce/2024051717-CVE-2024-35843-516e@gregkh/T
— Red Hat
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.12.25-1Fixed in 6.12.27-1 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.8.2 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.9
Event History
Frequently Asked Questions
What is the severity of CVE-2024-35843?
CVE-2024-35843 is classified with a medium severity level due to its impact on the I/O page fault handling in the Linux kernel.
How do I fix CVE-2024-35843?
To fix CVE-2024-35843, upgrade to the specified kernel versions: Red Hat kernel packages less than 6.8.2 or 6.9, or Debian Linux packages up to 5.10.226-1 or 6.1.123-1.
What systems are affected by CVE-2024-35843?
CVE-2024-35843 affects various versions of the Linux kernel, particularly those used in Red Hat and Debian systems.
What is the nature of the vulnerability described in CVE-2024-35843?
CVE-2024-35843 involves improper handling of I/O page fault reporting in the Linux kernel's device management.
Is there a public exploit available for CVE-2024-35843?
As of now, there is no known public exploit for CVE-2024-35843 reported in the security community.