Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en un EPT PTE en vivo en el Sistema Operativo invitado de Intel en Xen (CVE-2020-15567)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-362 Ejecución concurrente utilizando recursos compartidos con una incorrecta sincronización (Condición de carrera)
Fecha de publicación:
07/07/2020
Última modificación:
07/11/2023

Descripción

Se detectó un problema en Xen versiones hasta 4.13.x, que permite a usuarios del Sistema Operativo invitado de Intel alcanzar privilegios o causar una denegación de servicio debido a una modificación no atómica de un EPT PTE en vivo. Al mapear tablas EPT (paginación anidada) invitadas, Xen en algunas circunstancias usa una serie de escrituras de campo de bits no atómicas. Dependiendo de la versión del compilador y los indicadores de optimización, Xen podría exponer un PTE peligroso parcialmente escrito al hardware, a un atacante podría ser capaz de una carrera para una explotación. Un administrador invitado o tal vez incluso un usuario invitado no privilegiado podría causar una denegación de servicio, corrupción de datos o una escalada de privilegios. Solo los sistemas que utilizan los CPU Intel son vulnerables. Los sistemas que usan CPU AMD y sistemas Arm no son vulnerables. Solo los sistemas que usan paginación anidada (hap, también se conoce como paginación anidada, también se conoce en este caso como Intel EPT) son vulnerables. Solo los invitados HVM y PVH pueden explotar la vulnerabilidad. La presencia y el alcance de la vulnerabilidad dependen de las optimizaciones precisas llevadas a cabo por el compilador usado para construir Xen. Si el compilador genera (a) una sola escritura de 64 bits, o (b) una serie de operaciones de lectura-modificación-escritura en el mismo orden que el código fuente, el hipervisor no es vulnerable. Por ejemplo, en una compilación de prueba usando GCC versión 8.3 con configuraciones normales, el compilador generaba múltiples operaciones de lectura-modificación-escritura (desbloqueadas) según el código fuente, lo que no constituyó una vulnerabilidad. No hemos sido capaces de encuestar a los compiladores; en consecuencia, no podemos decir qué compilador(es) podrían producir código vulnerable (con qué opciones de generación de código). El código fuente viola claramente las reglas C y, por lo tanto, debe ser considerado vulnerable

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:xen:xen:*:*:*:*:*:*:*:* 4.13.1 (incluyendo)
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
cpe:2.3:o:opensuse:leap:15.1:*:*:*:*:*:*:*
cpe:2.3:o:opensuse:leap:15.2:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:31:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*