CVE-2024-56669 Information
Description
In the Linux kernel the following vulnerability has been resolved:
iommu/vt-d: Remove cache tags before disabling ATS
The current implementation removes cache tags after disabling ATS leading to potential memory leaks and kernel crashes. Specifically CACHE_TAG_DEVTLB type cache tags may still remain in the list even after the domain is freed causing a use-after-free condition.
This issue really shows up when multiple VFs from different PFs passed through to a single user-space process via vfio-pci. In such cases the kernel may crash with kernel messages like:
BUG: kernel NULL pointer dereference address: 0000000000000014
PGD 19036a067 P4D 1940a3067 PUD 136c9b067 PMD 0
Oops: Oops: 0000 [1] PREEMPT SMP NOPTI
CPU: 74 UID: 0 PID: 3183 Comm: testCli Not tainted 6.11.9 2
RIP: 0010:cache_tag_flush_range+0x9b/0x250
Call Trace:
Move cache_tag_unassign_domain() before iommu_disable_pci_caps() to fix it.
Reference
https://git.kernel.org/stable/c/1f2557e08a617a4b5e92a48a1a9a6f86621def18 https://git.kernel.org/stable/c/9a0a72d3ed919ebe6491f527630998be053151d8
Share on: