La falla de día cero ‘Zenbleed’ en AMD Zen 2 Ryzen 3000, las CPU EPYC puede filtrar los datos

Los peligros que plantea la ciberseguridad siguen avanzando, y los procesadores no están exentos de esta tendencia. CVE-2023-20593 es un grave problema de seguridad que afecta a las CPU de clase Zen2 de AMD . Fue descubierto no hace mucho tiempo y ha sido noticia desde entonces. Debido a esta vulnerabilidad, un atacante puede espiar los registros de otros procesos sin necesidad de realizar ninguna llamada al sistema o tener permisos especiales.

El archivo de registro vectorial (RF), que es un recurso que se comparte entre todos los trabajos que se ejecutan en un núcleo físico, es el principal contribuyente a la vulnerabilidad. La tabla de asignación de registros, a menudo conocida como RAT, se encarga de mapear y asignar recursos de radiofrecuencia (RF) a los nombres registrados. El hecho de que los registros de valor cero no necesiten ningún espacio de RF hace que este diseño sea único; todo lo que se requiere es una bandera en la RAT que se conoce como bit z. La vulnerabilidad CVE-2023-20593, a menudo conocida como “zenbleed”, se produce cuando el bit z se establece de forma especulativa, lo que implica que no se puede desactivar en caso de error de predicción de la bifurcación. Esto deja al sistema vulnerable a los ataques. El escenario use-after-free (UaF) es la fuente del riesgo de seguridad; fue causado cuando el espacio previamente asignado (RF) pudo haber sido reasignado en el período de tiempo entre estas dos acciones.

En el contexto de este problema, Tavis Ormandy, que trabaja para Google Information Security, hizo un descubrimiento significativo. Llegó a la conclusión de que este escenario UaF de hecho puede tener lugar en circunstancias extremadamente determinadas. Entre ellos se encuentran una instrucción VZEROUPPER mal predicha que ingresa simultáneamente al backend de FP, un cambio de nombre de registro y una instrucción que utiliza la optimización de fusión. El efecto que tiene este error en el mundo real es significativo.

Brinda a los actores malintencionados la capacidad de husmear en los registros de otros procesos sin necesidad de que realicen llamadas al sistema o tengan capacidades especiales. Además, puede operar en varias máquinas virtuales al mismo tiempo y afecta a todos los sistemas operativos, por lo que es un peligro muy extendido. Esta técnica es CVE-2023-20593 y funciona en todos los procesadores de clase Zen 2, que incluye al menos los siguientes productos:

  • AMD Ryzen 3000 Serie
  • AMD Ryzen PRO 3000 Serie
  • AMD Ryzen Threadripper 3000 Serie
  • AMD Ryzen 4000 Serie con Radeon Graphics
  • AMD Ryzen PRO 4000 Serie
  • AMD Ryzen 5000 Serie con Radeon Graphics
  • AMD Ryzen 7020 Serie CON Radeon Graphics
  • AMD EPYC “Rome”