An issue was discovered in Xen through 4.12.x allowing attackers to gain host OS privileges via DMA in a situation where an untrusted domain has access to a physical device (and assignable-add is not used), because of an incomplete fix for CVE-2019-18424. XSA-302 relies on the use of libxl's "assignable-add" feature to prepare devices to be assigned to untrusted guests. Unfortunately, this is not considered a strictly required step for device assignment. The PCI passthrough documentation on the wiki describes alternate ways of preparing devices for assignment, and libvirt uses its own ways as well. Hosts where these "alternate" methods are used will still leave the system in a vulnerable state after the device comes back from a guest. An untrusted domain with access to a physical device can DMA into host memory, leading to privilege escalation. Only systems where guests are given direct access to physical devices capable of DMA (PCI pass-through) are vulnerable. Systems which do not use PCI pass-through are not vulnerable.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxen-dev" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxencall1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxencall1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxendevicemodel1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxendevicemodel1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxenevtchn1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxenevtchn1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxenforeignmemory1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxenforeignmemory1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxengnttab1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxengnttab1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxenmisc4.11" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxenmisc4.11-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxenstore3.0" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxenstore3.0-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxentoolcore1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxentoolcore1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxentoollog1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "libxentoollog1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-doc" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-hypervisor-4.11-amd64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-hypervisor-4.11-arm64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-hypervisor-4.11-armhf" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-hypervisor-4.9-amd64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-hypervisor-4.9-arm64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-hypervisor-4.9-armhf" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-hypervisor-common" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-system-amd64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-system-arm64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-system-armhf" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-utils-4.11" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-utils-4.11-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-utils-common" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xen-utils-common-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xenstore-utils" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu1", "binary_name": "xenstore-utils-dbgsym" } ] }