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

Vulnerabilidad en una función assert() en la estructura libxl__domain_suspend_state en toolstack libxl (CVE-2021-28687)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
11/06/2021
Última modificación:
20/09/2021

Descripción

HVM soft-reset bloquea toolstack libxl requiere que todas las estructuras de datos pasadas a través de su interfaz pública sean inicializadas antes de usarlas y eliminadas después llamando a un conjunto específico de funciones. Muchas estructuras de datos internas también requieren esta disciplina de inicialización y eliminación, pero no todas. Cuando se implementó la funcionalidad "soft reset", la estructura libxl__domain_suspend_state no requería ninguna inicialización o eliminación. En algún momento posterior, se introdujo una función de inicialización para la estructura; pero la ruta "soft reset" no se refactorizó para llamar a la función de inicialización. Cuando un nwo invitado inicia un "soft reset", la estructura de datos no inicializada conlleva a una función assert() cuando el código posterior encuentra la estructura en un estado inesperado. El efecto de esto es que se bloquea el proceso que monitoriza el huésped. Cómo afecta esto al sistema depende de la estructura de la pila de herramientas. Para xl, esto no tendrá ningún efecto relevante para la seguridad: cada VM presenta su propio proceso de monitorización independiente, que no contiene ningún estado. El dominio en cuestión se colgará en un estado de colapso, pero puede ser destruido por "xl destroy" como cualquier otro dominio no cooperante. Para las pilas de herramientas basadas en daemon enlazadas con libxl, como libvirt, esto bloqueará la pila de herramientas, perdiendo el estado de cualquier operación en curso (DoS localizado), e impidiendo más operaciones del administrador a menos que el demonio esté configurado para reiniciarse automáticamente (DoS en todo el sistema). Si los bloqueos "leak" recursos, entonces los bloqueos repetidos podrían usar recursos, causando también una DoS a nivel de sistema

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:xen:xen:*:*:*:*:*:*:*:* 4.12 (incluyendo) 4.15.0 (incluyendo)
cpe:2.3:o:xen:xen:4.15.0:rc1:*:*:*:*:*:*