Vulnerabilidad en el archivo p2m_get_root_pointer() en el sistema operativo invitado de ARM en Xen (CVE-2019-18423)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
31/10/2019
Última modificación:
07/11/2023
Descripción
Se detectó un problema en Xen versiones hasta 4.12.x, permitiendo a usuarios del sistema operativo invitado de ARM causar una denegación de servicio por medio de una hipercall Xmapme_add_to_physmap. p2m-)max_mapped_gfn es utilizado por las funciones p2m_resolve_translation_fault() y p2m_get_entry() para comprobar trama física del invitado. El resto del código en las dos funciones asumirá que existe una tabla root válida y lo comprobará con BUG_ON(). La función p2m_get_root_pointer() ignorará los bits superiores no utilizados de una trama física de invitado. Esto significa que la función p2m_set_entry() renombrará la trama. Sin embargo, p2m-)max_mapped_gfn será actualizada utilizando la trama original. Sería posible establecer p2m-)max_mapped_gfn lo suficientemente alto como para cubrir una trama que conllevaría a p2m_get_root_pointer() a devolver NULL en p2m_get_entry() y p2m_resolve_translation_fault(). Adicionalmente, la comprobación de saneamiento en p2m-)max_mapped_gfn está por un paso permitiendo que el "highest mapped + 1" sea considerado válido. Sin embargo, p2m_get_root_pointer() devolverá NULL. El problema podría desencadenarse con una hipercall especialmente diseñada XENMEM_add_to_physmap{, _batch} seguido de un acceso a una dirección (por medio de hipercall o acceso directo) que pasa la comprobación de saneamiento pero hace que la función p2m_get_root_pointer() devuelva NULL. Un administrador invitado malicioso puede causar un bloqueo del hipervisor, resultando en una Denegación de Servicio (DoS). Xen versión 4.8 y mas recientes son vulnerables. Solo los sistemas Arm son vulnerables. Los sistemas x86 no están afectados.
Impacto
Puntuación base 3.x
8.80
Gravedad 3.x
ALTA
Puntuación base 2.0
8.50
Gravedad 2.0
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:xen:xen:*:*:*:*:*:*:arm:* | 4.8 (incluyendo) | 4.12.1 (incluyendo) |
| cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:* | ||
| cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* | ||
| cpe:2.3:o:fedoraproject:fedora:29:*:*:*:*:*:*:* | ||
| cpe:2.3:o:fedoraproject:fedora:30:*:*:*:*:*:*:* | ||
| cpe:2.3:o:fedoraproject:fedora:31:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- http://www.openwall.com/lists/oss-security/2019/10/31/4
- http://xenbits.xen.org/xsa/advisory-301.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/2BQKX7M2RHCWDBKNPX4KEBI3MJIH6AYZ/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/I5WWPW4BSZDDW7VHU427XTVXV7ROOFFW/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IZYATWNUGHRBG6I3TC24YHP5Y3J7I6KH/
- https://seclists.org/bugtraq/2020/Jan/21
- https://security.gentoo.org/glsa/202003-56
- https://www.debian.org/security/2020/dsa-4602



