La vulnerabilidad Zenbleed: cómo proteger sus CPU Zen 2
Parte de la información contenida en esta entrada de blog procede de un artículo de artículo de Tom's Hardware así como de un post escrito por Tavis Ormandyquien descubrió la vulnerabilidad.
Una vulnerabilidad llamada Zenbleed, que puede causar la exposición de datos sensibles, puede afectar a los clientes de TuxCare que utilizan ciertos procesadores Zen 2. Lee esta entrada del blog para obtener más información sobre este fallo de seguridad y cómo solucionarlo, y asegúrate de consultar las actualizaciones.
Estado actual de Zenbleed
Tavis Ormandy, miembro del equipo de seguridad de la información de Google, acaba de compartir detalles críticos sobre un fallo de seguridad no revelado previamente que descubrió en los procesadores Zen 2 de AMD. El fallo "Zenbleed" afecta a toda la gama Zen 2, incluso a los chips para centros de datos EPYC de AMD, y crea una puerta de acceso no autorizado a datos cruciales dentro de la CPU, incluidas claves de cifrado y credenciales de usuario. Sorprendentemente, el ataque no requiere ninguna intervención física y puede lanzarse a través de JavaScript en una página web.
Ormandy informa que AMD ha desarrollado una solución de firmware para los sistemas afectados por esta vulnerabilidad. Sin embargo, no se sabe con certeza si los nuevos firmwares de Linux, que mostraron alteraciones inexplicables, contienen estos parches.
Según Tom's HardwareAMD ha confirmado que los parches que solucionan el fallo Zenbleed están disponibles para los procesadores EPYC Rome. Sin embargo, AMD no ha aclarado si estos parches están listos para las CPU Ryzen de consumo afectadas por el problema. Las preguntas sobre el posible efecto en el rendimiento de los parches Zenbleed y el calendario de lanzamiento de los parches Ryzen siguen sin respuesta.
Actualizaremos esta entrada del blog a medida que se descubra nueva información pertinente.
¿Cuáles son los riesgos de Zenbleed?
Registrada como CVE-2023-20593, la vulnerabilidad Zenbleed permite el robo de datos a una velocidad de 30kb por núcleo por segundo, creando una vía eficiente para desviar datos sensibles procesados por la CPU. La amenaza es universal y afecta a todo el software que se ejecuta en el procesador afectado, incluidas máquinas virtuales, sandboxes, contenedores y procesos. La capacidad de este ataque para extraer datos de máquinas virtuales plantea importantes preocupaciones a los proveedores de servicios en la nube y a los usuarios.
Según Ormandy, todas las CPU Zen 2, incluidos los procesadores EPYC Rome, son vulnerables:
- Procesadores AMD Ryzen Serie 3000
- Procesadores AMD Ryzen PRO Serie 3000
- Procesadores AMD Ryzen Threadripper Serie 3000
- Procesadores AMD Ryzen Serie 4000 con gráficos Radeon
- Procesadores AMD Ryzen PRO Serie 4000
- Procesadores AMD Ryzen serie 5000 con gráficos Radeon
- Procesadores AMD Ryzen serie 7020 con gráficos Radeon
- Procesadores AMD EPYC "Rome
El fallo puede explotarse mediante la ejecución de código arbitrario sin privilegios. Ormandy ha compartido un repositorio de investigación de seguridad y código de explotación. El exploit funciona modificando los archivos de registro para inducir un comando erróneo.
Ormandy afirma que el fallo puede solucionarse mediante software para varios sistemas operativos (como Windows - "se puede configurar el bit gallina DE_CFG[9]"). Sin embargo, esto puede suponer un coste de rendimiento. Ormandy aconseja obtener la actualización del microcódigo, pero seguimos esperando detalles sobre la disponibilidad del firmware.
¿Cuál es la solución?
Según Ormandy, AMD ha publicado una actualización de microcódigo para los procesadores afectados, que se puede encontrar aquí.
"Es posible que tu proveedor de BIOS o sistema operativo ya tenga disponible una actualización que lo incluya".
Para usuarios de KernelCare Enterprise, siga nuestra documentación sobre cómo actualizar el microcódigo para la distribución de Linux que utilice.
Aunque es muy recomendable utilizar la actualización del microcódigo, Ormandy comparte una solución:
"Si por alguna razón no puede aplicar la actualización, existe una solución de software: puede activar el bit de pollo DE_CFG[9]. Esto puede tener algún coste de rendimiento".
Para Linux, puede utilizar msr-tools para establecer el bit de pollo en todos los núcleos, así:
# wrmsr -a 0xc0011029 $(($(rdmsr -c 0xc0011029) | (1<<9)))

