Investigadores de IOActive han descubierto una vulnerabilidad (CVE-2023-31315) en los procesadores AMD que, con acceso local privilegiado al sistema, permite modificar la configuración del SMM (Módulo de Gestión del Sistema, Ring -2), incluso si el mecanismo de bloqueo del SMM (SMM Lock) está activado, y potencialmente permite ejecutar código en el nivel de SMM. El nivel de SMM, que tiene una prioridad más alta que el modo de hipervisor y el anillo cero de protección, proporciona acceso ilimitado a toda la memoria del sistema y puede ser utilizado para controlar el sistema operativo.
La vulnerabilidad, que ha recibido el nombre en código Sinkclose, es causada por una verificación incorrecta de los registros específicos del modelo (MSR, Model Specific Register). Se asigna una área de páginas de memoria física al SMM, restringiendo el acceso en el nivel del controlador de memoria. La vulnerabilidad detectada permite eludir esta restricción manipulando ciertos registros MSR, escritos en los que no se ha prohibido a pesar de la activación del modo SMM Lock.
La explotación de la vulnerabilidad puede llevarse a cabo desde el anillo cero de protección, en el que opera el núcleo del sistema operativo, y puede ser utilizada, por ejemplo, para mantener la presencia después de explotar otras vulnerabilidades en el sistema o aplicar técnicas de ingeniería social. El sistema operativo no tiene la capacidad de rastrear y controlar la ejecución de código en el nivel de SMM, lo que puede ser utilizado para modificar firmware y colocar código malicioso oculto o rootkits, que no son detectables desde el sistema operativo, así como para desactivar la verificación durante la fase de arranque y atacar hipervisores para eludir los mecanismos de verificación de la integridad de los entornos virtuales.
La vulnerabilidad se manifiesta en prácticamente todos los chips AMD fabricados desde 2006, incluidos los procesadores AMD EPYC (1-4 generación), Ryzen (R1000, R2000, 3000-8000, V1000, V2000, V3000), Athlon 3000 y Threadripper PRO. Ya se han lanzado actualizaciones de microcódigo para bloquear la vulnerabilidad en las series de CPU EPYC y Ryzen móviles y de escritorio. Se planea publicar la actualización para modelos de CPU integrados en octubre. La única forma de eliminar el código malicioso insertado a través de un ataque en SMM es limpiar la memoria utilizando un programador SPI Flash conectado físicamente.
Fuente: opennet.ru
