Detectaron una vulnerabilidad que afecta a procesadores AMD Zen1
Hace pocos días se dio a conocer la noticia de que fue detectada una vulnerabilidad que afecta a todos los procesadores AMD con la microarquitectura Zen1, asi como también a todas las versiones de hipervisor Xen (ya catalogada bajo CVE-2023-20588), la cual provoca la fuga de datos utilizados durante las operaciones en el mismo núcleo de la CPU cuando el procesador maneja la excepción #DE (Divide Error) que ocurre al intentar dividir por cero.
Se menciona que desde un punto de vista práctico, la vulnerabilidad se puede utilizar para organizar un canal oculto de transferencia de datos entre procesos, entornos sandbox o máquinas virtuales, permitiendo el intercambio de datos sin pasar por los mecanismos de control de acceso al sistema y sin recurrir a llamadas al sistema.
La vulnerabilidad también permite que el espacio del usuario determine el resultado de una ejecución previa real o especulativa de una instrucción DIV, que se puede usar al procesar datos confidenciales en un nivel de privilegio más alto (por ejemplo, la división se puede usar al realizar operaciones criptográficas y un atacante puede determinar los parámetros de estas operaciones).
Sobre el problema, se menciona que la vulnerabilidad se debe a que cuando ocurre una excepción #DE al dividir por cero, el procesador redirige especulativamente el resultado de la operación de división anterior, ya que en una CPU con la microarquitectura Zen1 solo hay un divisor en proceso, sirviendo las operaciones en diferentes hilos.
En sistemas vulnerables, un atacante puede determinar el resultado de una operación de división anterior, incluidas aquellas realizadas en el mismo núcleo de CPU en otros contextos, por ejemplo, en el kernel, en otros procesos o fuera de la máquina virtual.
Se menciona que todas las versiones de Xen son vulnerables a este fallo y asi como también diferentes distribuciones de Linux, tales como Ubuntu, Debian, Amazon Linux 2, Fedora, SUSE, Oracle. Ademas de que como ya se mencionó la vulnerabilidad solo aparece en procesadores AMD basados en la microarquitectura Zen1, por ejemplo, en los AMD EPYC 7001, AMD Athlon 3000, AMD Ryzen 3000 con GPU Radeon, AMD Athlon PRO 3000 con GPU Radeon Vega y AMD Ryzen PRO 3000 con GPU Radeon Vega serie.
En cuanto a la solución al problema, esta ya ha sido emitida mediante parches para bloquear la vulnerabilidad para el kernel de Linux y el hipervisor Xen. Los parches emitidos para Xen sobrescriben el buffer en el divisor del camino de regreso al huésped y básicamente el problema se resolvió sobrescribiendo el búfer divisor durante un cambio de contexto. La solución es efectiva solo cuando el subproceso múltiple simétrico (SMT) está deshabilitado.
Sin embargo, al igual que con algunas vulnerabilidades especulativas anteriores, la solución está sólo
eficaz en combinación con la desactivación de SMT. Por las mismas razones que antes, Xen no desactiva SMT de forma predeterminada.
Ademas de ello, se menciona que los administradores de sistema deben evaluar el riesgo de su carga de trabajo, ya que deben elegir si desea habilitar o deshabilitar SMT. Xen emitirá una advertencia si SMT está activo y el usuario no ha proporcionado una elección explícita a través del smt=<bool> opción de línea de comando.
Si estás interesado en poder obtener más información, puedes consultar los detalles en el siguiente enlace.
Mientras que para los interesados en realizar un seguimiento de la corrección de la vulnerabilidad, pueden hacerlo en las páginas de las diferentes distribuciones: Amazon Linux, Debian, Ubuntu, RHEL y SUSE/openSUSE.
Finalmente y como siempre, aunque la gravedad de la vulnerabilidad se cataloga como «baja», se hace la recomendación a los usuarios de los sistemas y/o hardware afectados, que realizan las actualizaciones correspondientes (si es el caso). Aunque en la mayoría de los casos cuando se conocen brechas de seguridad, los fabricantes deben solucionarlas lo más rápido posible mediante el desarrollo de un parche o una solución alternativa y estos son emitidos mediante actualizaciones del sistema, por ello la recomendación de actualizar y siempre tener las actualizaciones activadas.