Skip to content
OpenAdvisories
Unscored CVE-2020-15567 EUVD-2020-7554GHSA-mpwm-7x8j-q5j2

An issue was discovered in Xen through 4.13.x, allowing Intel guest OS users to gain privileges or cause a denial of service because of non…

Published Jul 7, 2020 · Updated Aug 4, 2024 · Assigned by mitre

Description

An issue was discovered in Xen through 4.13.x, allowing Intel guest OS users to gain privileges or cause a denial of service because of non-atomic modification of a live EPT PTE. When mapping guest EPT (nested paging) tables, Xen would in some circumstances use a series of non-atomic bitfield writes. Depending on the compiler version and optimisation flags, Xen might expose a dangerous partially written PTE to the hardware, which an attacker might be able to race to exploit. A guest administrator or perhaps even an unprivileged guest user might be able to cause denial of service, data corruption, or privilege escalation. Only systems using Intel CPUs are vulnerable. Systems using AMD CPUs, and Arm systems, are not vulnerable. Only systems using nested paging (hap, aka nested paging, aka in this case Intel EPT) are vulnerable. Only HVM and PVH guests can exploit the vulnerability. The presence and scope of the vulnerability depends on the precise optimisations performed by the compiler used to build Xen. If the compiler generates (a) a single 64-bit write, or (b) a series of read-modify-write operations in the same order as the source code, the hypervisor is not vulnerable. For example, in one test build using GCC 8.3 with normal settings, the compiler generated multiple (unlocked) read-modify-write operations in source-code order, which did not constitute a vulnerability. We have not been able to survey compilers; consequently we cannot say which compiler(s) might produce vulnerable code (with which code-generation options). The source code clearly violates the C rules, and thus should be considered vulnerable.

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 xen 4.11.4+24-gddaaccbbab-1 —
Debian 13 xen 4.11.4+24-gddaaccbbab-1 —
Debian 12 xen 4.11.4+24-gddaaccbbab-1 —
Debian 10 xen 4.11.4+24-gddaaccbbab-1~deb10u1 DSA-4723-1
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS xen 4.11.3+24-g14b62ab3e5-1ubuntu2.3 USN-5617-1
Ubuntu 18.04 LTS xen No fix yet —
Ubuntu 16.04 LTS xen No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP2 xen 4.13.1_04-3.4.1 SUSE-SU-2020:1902-1
SLES 15 SP1 xen 4.12.3_04-3.22.1 SUSE-SU-2020:1889-1
SLES 12 SP5 xen 4.12.3_04-3.18.1 SUSE-SU-2020:1887-1
SLES 12 SP4 xen 4.11.4_04-2.30.1 SUSE-SU-2020:1891-1
SLES 12 SP3 xen 4.9.4_08-3.66.1 SUSE-SU-2020:1886-1
Show 15 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES 12 SP2 xen 4.7.6_10-43.67.1 SUSE-SU-2020:2822-1
SLES 11 SP4 xen 4.4.4_44-61.55.1 SUSE-SU-2020:14521-1
SLES for SAP 15 xen 4.10.4_12-3.35.1 SUSE-SU-2020:1888-1
SLES for SAP 12 SP5 xen 4.12.3_04-3.18.1 SUSE-SU-2020:1887-1
SLES for SAP 12 SP4 xen 4.11.4_04-2.30.1 SUSE-SU-2020:1891-1
SLES for SAP 12 SP3 xen 4.9.4_08-3.66.1 SUSE-SU-2020:1886-1
SLES for SAP 12 SP2 xen 4.7.6_10-43.67.1 SUSE-SU-2020:2822-1
SLE HPC 15 xen 4.10.4_12-3.35.1 SUSE-SU-2020:1888-1
SUSE OpenStack Cloud Crowbar 9 xen 4.11.4_04-2.30.1 SUSE-SU-2020:1891-1
SUSE OpenStack Cloud Crowbar 8 xen 4.9.4_08-3.66.1 SUSE-SU-2020:1886-1
SUSE OpenStack Cloud 9 xen 4.11.4_04-2.30.1 SUSE-SU-2020:1891-1
SUSE OpenStack Cloud 8 xen 4.9.4_08-3.66.1 SUSE-SU-2020:1886-1
SUSE OpenStack Cloud 7 xen 4.7.6_10-43.67.1 SUSE-SU-2020:2822-1
SUSE HPE Helion OpenStack 8 xen 4.9.4_08-3.66.1 SUSE-SU-2020:1886-1
SUSE Enterprise Storage 5 xen 4.9.4_08-3.66.1 SUSE-SU-2020:1886-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed xen 4.15.1_01-1.2 openSUSE-SU-2024:11520-1
openSUSE Leap 15.2 xen 4.13.1_04-lp152.2.3.1 openSUSE-SU-2020:0985-1
openSUSE Leap 15.1 xen 4.12.3_04-lp151.2.21.1 openSUSE-SU-2020:0965-1
ReleasePackageFixed inAdvisory
Alpine v3.24 xen 4.13.1-r4 —
Alpine v3.23 xen 4.13.1-r4 —
Alpine v3.22 xen 4.13.1-r4 —
Alpine v3.21 xen 4.13.1-r4 —
Alpine v3.20 xen 4.13.1-r4 —
Show 11 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 xen 4.13.1-r4 —
Alpine v3.18 xen 4.13.1-r4 —
Alpine v3.17 xen 4.13.1-r4 —
Alpine v3.16 xen 4.13.1-r4 —
Alpine v3.15 xen 4.13.1-r4 —
Alpine v3.14 xen 4.13.1-r4 —
Alpine v3.13 xen 4.13.1-r4 —
Alpine v3.12 xen 4.13.1-r2 —
Alpine v3.11 xen 4.13.1-r2 —
Alpine v3.10 xen 4.12.3-r2 —
Alpine v3.9 xen 4.11.4-r0 —

Advisories 13

References