Skip to content
OpenAdvisories
Unscored CVE-2019-18421 EUVD-2019-8190GHSA-7g44-3rf3-p4xf

An issue was discovered in Xen through 4.12.x allowing x86 PV guest OS users to gain host OS privileges by leveraging race conditions in pa…

Published Oct 31, 2019 · Updated Aug 5, 2024 · Assigned by mitre

Description

An issue was discovered in Xen through 4.12.x allowing x86 PV guest OS users to gain host OS privileges by leveraging race conditions in pagetable promotion and demotion operations. There are issues with restartable PV type change operations. To avoid using shadow pagetables for PV guests, Xen exposes the actual hardware pagetables to the guest. In order to prevent the guest from modifying these page tables directly, Xen keeps track of how pages are used using a type system; pages must be "promoted" before being used as a pagetable, and "demoted" before being used for any other type. Xen also allows for "recursive" promotions: i.e., an operating system promoting a page to an L4 pagetable may end up causing pages to be promoted to L3s, which may in turn cause pages to be promoted to L2s, and so on. These operations may take an arbitrarily large amount of time, and so must be re-startable. Unfortunately, making recursive pagetable promotion and demotion operations restartable is incredibly complicated, and the code contains several races which, if triggered, can cause Xen to drop or retain extra type counts, potentially allowing guests to get write access to in-use pagetables. A malicious PV guest administrator may be able to escalate their privilege to that of the host. All x86 systems with untrusted PV guests are vulnerable. HVM and PVH guests cannot exercise this vulnerability.

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.3+24-g14b62ab3e5-1 —
Debian 13 xen 4.11.3+24-g14b62ab3e5-1 —
Debian 12 xen 4.11.3+24-g14b62ab3e5-1 —
Debian 10 xen 4.11.3+24-g14b62ab3e5-1~deb10u1 DSA-4602-1
Debian 9 xen 4.8.5.final+shim4.10.4-1+deb9u12 DSA-4602-1
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS xen No fix yet —
Ubuntu 16.04 LTS xen No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP1 xen 4.12.1_04-3.6.1 SUSE-SU-2019:2961-1
SLES 15 xen 4.10.4_06-3.25.1 SUSE-SU-2019:2960-1
SLES 12 SP4 xen 4.11.2_04-2.17.1 SUSE-SU-2019:2962-1
SLES 12 SP3 xen 4.9.4_06-3.59.1 SUSE-SU-2019:3297-1
SLES 12 SP2 xen 4.7.6_06-43.59.1 SUSE-SU-2020:0334-1
Show 12 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES 12 SP1 xen 4.5.5_28-22.64.1 SUSE-SU-2020:0388-1
SLES 11 SP4 xen 4.4.4_42-61.52.1 SUSE-SU-2020:14444-1
SLES for SAP 12 SP4 xen 4.11.2_04-2.17.1 SUSE-SU-2019:2962-1
SLES for SAP 12 SP3 xen 4.9.4_06-3.59.1 SUSE-SU-2019:3297-1
SLES for SAP 12 SP2 xen 4.7.6_06-43.59.1 SUSE-SU-2020:0334-1
SLES for SAP 12 SP1 xen 4.5.5_28-22.64.1 SUSE-SU-2020:0388-1
SUSE OpenStack Cloud Crowbar 8 xen 4.9.4_06-3.59.1 SUSE-SU-2019:3297-1
SUSE OpenStack Cloud 8 xen 4.9.4_06-3.59.1 SUSE-SU-2019:3297-1
SUSE OpenStack Cloud 7 xen 4.7.6_06-43.59.1 SUSE-SU-2020:0334-1
SUSE Linux Enterprise Point of Sale 11 SP3 xen 4.2.5_22-45.36.1 SUSE-SU-2020:14448-1
SUSE HPE Helion OpenStack 8 xen 4.9.4_06-3.59.1 SUSE-SU-2019:3297-1
SUSE Enterprise Storage 5 xen 4.9.4_06-3.59.1 SUSE-SU-2019:3297-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.0 xen 4.10.4_06-lp150.2.25.1 openSUSE-SU-2019:2506-1
ReleasePackageFixed inAdvisory
Alpine v3.24 xen 4.13.0-r0 —
Alpine v3.23 xen 4.13.0-r0 —
Alpine v3.22 xen 4.13.0-r0 —
Alpine v3.21 xen 4.13.0-r0 —
Alpine v3.20 xen 4.13.0-r0 —
Show 12 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 xen 4.13.0-r0 —
Alpine v3.18 xen 4.13.0-r0 —
Alpine v3.17 xen 4.13.0-r0 —
Alpine v3.16 xen 4.13.0-r0 —
Alpine v3.15 xen 4.13.0-r0 —
Alpine v3.14 xen 4.13.0-r0 —
Alpine v3.13 xen 4.13.0-r0 —
Alpine v3.12 xen 4.13.0-r0 —
Alpine v3.11 xen 4.13.0-r0 —
Alpine v3.10 xen 4.12.1-r1 —
Alpine v3.9 xen 4.11.2-r1 —
Alpine v3.8 xen 4.10.4-r1 —

Advisories 10

References