← back
CVE-2023-46839

pci: phantom functions assigned to incorrect contexts

CVSS 5.3 MEDIUMEPSS 0.8%
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 · Xen

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →