CVE-2023-46839
pci: phantom functions assigned to incorrect contexts
In short
When a PCI device uses phantom functions (a feature to generate more requests), the system may fail to properly set up security isolation for these phantom functions. This can result in some phantom functions being accessible from the wrong virtual machine or domain, potentially allowing unauthorized access.
Technical detail
PCI phantom functions require IOMMU context configuration for proper isolation. When device assignment occurs and IOMMU context setup fails, the primary device may be assigned to one domain while phantom functions are assigned to another, breaking the intended isolation boundary. This allows cross-domain access to device functionality.
Summary generated and translated by AI from the official description.
PCI devices can make use of a functionality called phantom functions,
that when enabled allows the device to generate requests using the IDs
of functions that are otherwise unpopulated. This allows a device to
extend the number of outstanding requests.
Such phantom functions need an IOMMU context setup, but failure to
setup the context is not fatal when the device is assigned. Not
failing device assignment when such failure happens can lead to the
primary device being assigned to a guest, while some of the phantom
functions are assigned to a different domain.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Affected products
Xen · XenWant to know if your infrastructure is exposed to this?
Talk to TrueHacking →