CVE-2019-19578
 
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
An issue was discovered in Xen through 4.12.x allowing x86 PV guest OS users to cause a denial of service via degenerate chains of linear pagetables, because of an incorrect fix for CVE-2017-15595. "Linear pagetables" is a technique which involves either pointing a pagetable at itself, or to another pagetable of the same or higher level. Xen has limited support for linear pagetables: A page may either point to itself, or point to another pagetable of the same level (i.e., L2 to L2, L3 to L3, and so on). XSA-240 introduced an additional restriction that limited the "depth" of such chains by allowing pages to either *point to* other pages of the same level, or *be pointed to* by other pages of the same level, but not both. To implement this, we keep track of the number of outstanding times a page points to or is pointed to another page table, to prevent both from happening at the same time. Unfortunately, the original commit introducing this reset this count when resuming validation of a partially-validated pagetable, incorrectly dropping some "linear_pt_entry" counts. If an attacker could engineer such a situation to occur, they might be able to make loops or other arbitrary chains of linear pagetables, as described in XSA-240. A malicious or buggy PV guest may cause the hypervisor to crash, resulting in Denial of Service (DoS) affecting the entire host. Privilege escalation and information leaks cannot be excluded. All versions of Xen are vulnerable. Only x86 systems are affected. Arm systems are not affected. Only x86 PV guests can leverage the vulnerability. x86 HVM and PVH guests cannot leverage the vulnerability. Only systems which have enabled linear pagetables are vulnerable. Systems which have disabled linear pagetables, either by selecting CONFIG_PV_LINEAR_PT=n when building the hypervisor, or adding pv-linear-pt=false on the command-line, are not vulnerable.
Se detectó un problema en Xen versiones hasta 4.12.x permitiendo a usuarios del Sistema Operativo invitado PV en x86 causar una denegación de servicio por medio de cadenas degeneradas de tablas de páginas lineales, debido a una corrección incorrecta para CVE-2017-15595. "Linear pagetables" es una técnica que consiste en señalar una tabla de páginas en sí misma o en otra tabla de páginas del mismo nivel o superior. Xen tiene soporte limitado para tablas de páginas lineales: una página puede apuntar hacia sí misma o hacia otra tabla de páginas del mismo nivel (es decir, L2 a L2, L3 a L3, etc.). XSA-240 introdujo una restricción adicional que limitó la "depth" de tales cadenas al permitir que las páginas * apunten * a otras páginas del mismo nivel, o * sean señaladas * por otras páginas del mismo nivel, pero no ambas. Para implementar esto, hacemos un seguimiento del número de veces pendientes que una página señala o apunta a otra tabla de páginas, para evitar que ambas sucedan al mismo tiempo. Desafortunadamente, la confirmación original que introduce este restablecimiento de este recuento al reanudar la comprobación de una tabla de páginas parcialmente validada, eliminando incorrectamente algunos recuentos de "linear_pt_entry". Si un atacante pudiera diseñar una situación así, podría hacer bucles u otras cadenas arbitrarias de tablas lineales, como se describe en XSA-240. Un invitado PV malicioso o con errores puede hacer que el hipervisor se bloquee, resultando en la denegación de servicio (DoS) que afecta a todo el host. La escalada de privilegios y las filtraciones de información no se pueden excluir. Todas las versiones de Xen son vulnerables. Solo los sistemas en x86 están afectados. Los sistemas ARM no están afectados. Solo los invitados de PV en x86 pueden aprovechar la vulnerabilidad. Los invitados x86 HVM y PVH no pueden aprovechar la vulnerabilidad. Solo los sistemas que han habilitado tablas de páginas lineales son vulnerables. Los sistemas que han deshabilitado las tablas de páginas lineales, ya sea seleccionando CONFIG_PV_LINEAR_PT = n al construir el hipervisor, o agregando pv-linear-pt = false en la línea de comandos, no son vulnerables.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2019-12-04 CVE Reserved
- 2019-12-11 CVE Published
- 2023-03-08 EPSS Updated
- 2024-08-05 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-682: Incorrect Calculation
CAPEC
References (7)
URL | Tag | Source |
---|---|---|
https://seclists.org/bugtraq/2020/Jan/21 | Mailing List |
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://xenbits.xen.org/xsa/advisory-309.html | 2023-11-07 |
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
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 31 Search vendor "Fedoraproject" for product "Fedora" and version "31" | - |
Affected
|