CPUs AMD con arquitectura Zen 2: afectadas por la vulnerabilidad Zenbleed

Hoy conocemos que todos los procesadores de AMD, basados en la arquitectura Zen 2, se han visto impactados por una nueva vulnerabilidad llamada Zenbleed. Al afectar a una arquitectura, esto implica que afecta a todos los productos de la compañía. Esto implica desde las CPU y APUs AMD Ryzen para equipos de sobremesa, portátiles y embebidos, por no hablar de la gama profesional Threadripper, y los procesadores para servidor EPYC.

Quien avisó de esta vulnerabilidad fue Tavis Ormandy, investigador de Google Information Security. Este hizo en el día de hoy un anuncio oficial sobre esta vulnerabilidad. El mayor de los problemas, es que permite el robo de información protegida de una CPU. Esto implica laves de cifrado e inicios de sesión de usuarios.

Lo que agrava el problema, es que el ataque se puede realizar de forma remota, ya que incluso el ataque puede perpetrarse al ejecutarse un JavaScript de una página web.

AMD trabaja en un parche para parchear la vulnerabilidad en la arquitectura Zen 2

AMD Ryzen 3000 Series Zen 2 afectados por Zenbleed

Este anuncio ha llegado cuando AMD ha comenzado a desplegar estos parches. Eso sí, por ahora el parche de Zenbleed están únicamente en un mercado crítico como es el de los servidores. Es por ello que, por ahora, de forma oficial, los AMD EPYC son las únicas CPU blindadas ante esta vulnerabilidad. Por ahora, AMD tampoco ha dado una fecha límite para descubrir cuándo el resto de procesadores se verán parcheados para proteger a los usuarios.

Evidentemente, en estos momentos no hay información sobre si estos parches terminarán afectando al rendimiento de los procesadores AMD Zen 2. Tom's Hardware contactó con la compañía para recopilar más información y fue allí donde indicaron que los EPYC Rome son las únicas CPU blindadas. Eso sí, cuando se les preguntó sobre un posible impacto en el rendimiento, AMD guardó silencio.

Que AMD guardara silencio puede ser por muchos motivos, uno de ellos, que hasta la propia AMD desconozca este dato. Han lanzado la actualización, y ahora tendremos que esperar a que se hagan los pertinentes datos de rendimiento para ver si estas CPU se verán perjudicadas a cambio de mantener seguros los sistemas de los usuarios.

Todas las CPU AMD (Zen 2) afectadas son:

  • AMD Ryzen 3000 Series
  • AMD Ryzen PRO 3000 Series
  • AMD Ryzen Threadripper 3000 Series
  • AMD Ryzen 4000 Series con gráficos Radeon Graphics
  • AMD Ryzen PRO 4000 Series
  • AMD Ryzen 5000 Series con gráficos Radeon Graphics
  • AMD Ryzen 7020 Series con gráficos Radeon Graphics
  • AMD EPYC “Rome”

Más información sobre la vulnerabilidad Zenbleed que afecta a AMD

 1

Archivada como CVE-2023-20593, la vulnerabilidad Zenbleed permite el robo de datos a una velocidad de 30 Kbps por núcleo. Esto implica un rendimiento adecuado para robar información sensible que fluye a través del procesador. Este ataque funciona a través de todo el software que se ejecuta en el procesador, incluyendo máquinas virtuales, sandboxes, contenedores y procesos.

La capacidad de este ataque para leer datos a través de máquinas virtuales es particularmente amenazante para los proveedores de servicios en la nube y para aquellos que utilizan instancias en la nube.

Si bien es recomendable la instalación del parche, por ahora AMD no ha sido clara de cuándo estará disponible de forma generalizada.

"El fallo funciona así, en primer lugar necesitas activar algo llamado XMM Register Merge Optimization2, seguido de un cambio de nombre de registro y un vzeroupper mal predicho. Todo esto tiene que ocurrir dentro de una ventana precisa para que funcione", indica Tavis Ormandy.

"Ahora sabemos que las operaciones básicas como strlen, memcpy y strcmp usarán los registros vectoriales - ¡así que podemos espiar efectivamente esas operaciones que ocurren en cualquier parte del sistema! No importa si están ocurriendo en otras máquinas virtuales, sandboxes, contenedores, procesos, ¡lo que sea!

Esto funciona porque el archivo de registro es compartido por todo en el mismo núcleo físico. De hecho, dos hyperthreads incluso comparten el mismo archivo de registro físico".