Bug 1224751 (CVE-2024-35843) - VUL-0: CVE-2024-35843: kernel: iommu/vt-d: Use device rbtree in iopf reporting path
Summary: VUL-0: CVE-2024-35843: kernel: iommu/vt-d: Use device rbtree in iopf reportin...
Status: NEW
Alias: CVE-2024-35843
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P2 - High : Major
Target Milestone: ---
Assignee: Karasulli
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/406382/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-35843:7.0:(AV:...
Keywords:
Depends on:
Blocks: 1227368
  Show dependency treegraph
 
Reported: 2024-05-20 16:24 UTC by SMASH SMASH
Modified: 2024-07-08 14:59 UTC (History)
6 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description SMASH SMASH 2024-05-20 16:24:17 UTC
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.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-35843
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-35843.mbox
https://git.kernel.org/stable/c/3d39238991e745c5df85785604f037f35d9d1b15
https://git.kernel.org/stable/c/def054b01a867822254e1dda13d587f5c7a99e2a
https://www.cve.org/CVERecord?id=CVE-2024-35843
https://bugzilla.redhat.com/show_bug.cgi?id=2281276
Comment 1 Joey Lee 2024-05-21 06:47:00 UTC
https://www.suse.com/security/cve/CVE-2024-35843.html
cvss 5.5
Comment 7 Joerg Roedel 2024-05-27 07:14:54 UTC
Vasant, can you please take care of this?