An issue was discovered in Xen through 4.13.x, allowing x86 Intel HVM guest OS users to cause a host OS denial of service or possibly gain privileges because of insufficient cache write-back under VT-d. When page tables are shared between IOMMU and CPU, changes to them require flushing of both TLBs. Furthermore, IOMMUs may be non-coherent, and hence prior to flushing IOMMU TLBs, a CPU cache also needs writing back to memory after changes were made. Such writing back of cached data was missing in particular when splitting large page mappings into smaller granularity ones. A malicious guest may be able to retain read/write DMA access to frames returned to Xen's free pool, and later reused for another purpose. Host crashes (leading to a Denial of Service) and privilege escalation cannot be ruled out. Xen versions from at least 3.2 onwards are affected. Only x86 Intel systems are affected. x86 AMD as well as Arm systems are not affected. Only x86 HVM guests using hardware assisted paging (HAP), having a passed through PCI device assigned, and having page table sharing enabled can leverage the vulnerability. Note that page table sharing will be enabled (by default) only if Xen considers IOMMU and CPU large page size support compatible.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxen-dev" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxencall1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxencall1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxendevicemodel1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxendevicemodel1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxenevtchn1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxenevtchn1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxenforeignmemory1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxenforeignmemory1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxengnttab1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxengnttab1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxenmisc4.11" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxenmisc4.11-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxenstore3.0" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxenstore3.0-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxentoolcore1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxentoolcore1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxentoollog1" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "libxentoollog1-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-doc" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-hypervisor-4.11-amd64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-hypervisor-4.11-arm64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-hypervisor-4.11-armhf" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-hypervisor-4.9-amd64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-hypervisor-4.9-arm64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-hypervisor-4.9-armhf" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-hypervisor-common" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-system-amd64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-system-arm64" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-system-armhf" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-utils-4.11" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-utils-4.11-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-utils-common" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xen-utils-common-dbgsym" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xenstore-utils" }, { "binary_version": "4.11.3+24-g14b62ab3e5-1ubuntu2.3", "binary_name": "xenstore-utils-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxen-dev" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxencall1" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxencall1-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxendevicemodel1" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxendevicemodel1-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxenevtchn1" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxenevtchn1-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxenforeignmemory1" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxenforeignmemory1-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxengnttab1" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxengnttab1-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxenmisc4.11" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxenmisc4.11-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxenstore3.0" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxenstore3.0-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxentoolcore1" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxentoolcore1-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxentoollog1" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "libxentoollog1-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-doc" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-hypervisor-4.11-amd64" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-hypervisor-4.11-arm64" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-hypervisor-4.11-armhf" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-hypervisor-common" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-system-amd64" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-system-arm64" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-system-armhf" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-utils-4.11" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-utils-4.11-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-utils-common" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xen-utils-common-dbgsym" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xenstore-utils" }, { "binary_version": "4.11.4+24-gddaaccbbab-1ubuntu2", "binary_name": "xenstore-utils-dbgsym" } ] }