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.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | xen | No fix yet | — |
| Ubuntu 16.04 LTS | xen | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.0 | xen | 4.10.4_06-lp150.2.25.1 | openSUSE-SU-2019:2506-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
- DSA-4602-1 xen - security update Debian Security (DSA / DLA) · Mar 9, 2026
- SUSE-SU-2019:2960-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:0334-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:2962-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:14448-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:14444-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:2961-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2019:2506-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:3297-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:0388-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
References
- http://xenbits.xen.org/xsa/advisory-299.html
- [oss-security] 20191031 Xen Security Advisory 299 v4 (CVE-2019-18421) - Issues with restartable PV type change operations mailing-list
- openSUSE-SU-2019:2506 vendor-advisory
- FEDORA-2019-865bb16900 vendor-advisory
- FEDORA-2019-376ec5c107 vendor-advisory
- FEDORA-2019-cbb732f760 vendor-advisory
- DSA-4602 vendor-advisory
- 20200114 [SECURITY] [DSA 4602-1] xen security update mailing-list
- GLSA-202003-56 vendor-advisory