// For flags

CVE-2019-18421

 

Severity Score

7.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

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.

Se detectó un problema en Xen versiones hasta 4.12.x, permitiendo a usuarios del sistema operativo invitado PV de x86 alcanzar privilegios de sistema operativo host mediante el aprovechamiento de las condiciones de carrera en las operaciones de promoción y degradación de la página. Se presentan problemas con las operaciones de cambio de tipo de PV reiniciables. Para evitar el uso de tablas de páginas shadow para invitados PV, Xen expone las tablas de páginas de hardware actuales al invitado. Para impedir que el invitado modifique directamente estas tablas de páginas, Xen realiza un seguimiento de cómo son usadas las páginas utilizando un sistema de tipos; las páginas deben ser "promoted" antes de ser usadas como una tabla de páginas y "demoted" antes de ser usadas por cualquier otro tipo. Xen también permite promociones "recursive": es decir, un sistema operativo que promociona una página en una tabla de páginas L4 puede terminar haciendo que las páginas se promocionen a L3, lo que a su vez puede causar que las páginas se promocionen a L2, y así sucesivamente. Estas operaciones pueden tomar una cantidad de tiempo arbitrariamente grande y, por lo tanto, deben ser reiniciadas. Desafortunadamente, hacer reiniciables las operaciones de promoción y degradación de tablas de páginas recursivas es increíblemente complejo, y el código contiene varias carreras que, si son activadas, pueden hacer que Xen elimine o retenga conteos de tipos adicionales, lo que potencialmente permite a los invitados conseguir acceso de escritura a las tablas de páginas en uso. Un administrador invitado malicioso de PV puede escalar sus privilegios a los del host. Todos los sistemas x86 con invitados PV no confiables son vulnerables. Los invitados HVM y PVH no pueden ejercer esta vulnerabilidad.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
High
Authentication
Single
Confidentiality
Complete
Integrity
Complete
Availability
Complete
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2019-10-24 CVE Reserved
  • 2019-10-31 CVE Published
  • 2024-02-24 EPSS Updated
  • 2024-08-05 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Xen
Search vendor "Xen"
Xen
Search vendor "Xen" for product "Xen"
<= 4.12.1
Search vendor "Xen" for product "Xen" and version " <= 4.12.1"
x86
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
9.0
Search vendor "Debian" for product "Debian Linux" and version "9.0"
-
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
10.0
Search vendor "Debian" for product "Debian Linux" and version "10.0"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
29
Search vendor "Fedoraproject" for product "Fedora" and version "29"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
30
Search vendor "Fedoraproject" for product "Fedora" and version "30"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
31
Search vendor "Fedoraproject" for product "Fedora" and version "31"
-
Affected
Opensuse
Search vendor "Opensuse"
Leap
Search vendor "Opensuse" for product "Leap"
15.0
Search vendor "Opensuse" for product "Leap" and version "15.0"
-
Affected