Intel
CPU
Vulnerabilidades

Intel parchea un fallo de alta gravedad en la escalada de privilegios de la CPU

La vulnerabilidad Reptar afecta a los procesadores Intel con la nueva característica fast short repeat move (FSRM).

Intel Core i7 en placa base

Intel ha publicado actualizaciones de microcódigo para varias generaciones de CPU de móviles, ordenadores y servidores con el fin de corregir una vulnerabilidad que puede explotarse para desencadenar, como mínimo, una situación de denegación de servicio, pero potencialmente una escalada de privilegios y la divulgación de información. El fallo puede explotarse si un atacante dispone de ejecución local de código en el sistema operativo, incluidas las máquinas virtuales invitadas. En un entorno virtualizado multitenant, los atacantes podrían explotar la vulnerabilidad desde una máquina virtual invitada para bloquear el sistema anfitrión, lo que provocaría una denegación de servicio para todas las demás máquinas virtuales invitadas que se ejecuten en el mismo servidor.

Se recomienda a las organizaciones que comprueben las actualizaciones de BIOS/UEFI con sus respectivos fabricantes de sistemas, que deberían empezar a integrar las actualizaciones de firmware de Intel. Las versiones del microcódigo parcheado para cada CPU Intel afectada se enumeran en el aviso de la compañía.

 

Prefijos de instrucciones que deberían ignorarse pero no se hace

La vulnerabilidad se registra como CVE-2023-23583, pero los investigadores de Google que descubrieron el fallo y lo comunicaron a Intel también lo han bautizado como Reptar por el prefijo de instrucción común rep.

Según un informe técnico del investigador de seguridad de Google Tavis Ormandy, el problema tiene su origen en la forma en que se procesan los prefijos de instrucciones en las CPU que admiten una nueva función denominada fast short repeat move (FSRM). El microcódigo de la CPU es el código de bajo nivel que controla la CPU a nivel de hardware basándose en la arquitectura estandarizada del conjunto de instrucciones que se expone a los programadores. Se puede acceder al conjunto de instrucciones a través de código máquina legible por humanos en lenguaje ensamblador.

Escribir código ensamblador significa operar directamente con instrucciones de la CPU y estas instrucciones admiten una serie de prefijos que modifican su funcionamiento. Sin embargo, no todos los prefijos se aplican a todas las instrucciones. Por ejemplo, el código "rep movsb" utiliza el prefijo rep, que significa repetir para la instrucción movsb que se utiliza para mover memoria en CPUs x86 desde un origen a un destino. En el ejemplo "rex.rxb rep movsb", el prefijo rex se utiliza para asignar bits adicionales a la instrucción para los operandos, pero el movsb no lo necesita ya que todos sus operandos son implícitos.

Esto significa que el prefijo rex es redundante y carece de sentido en este escenario, por lo que el microcódigo de la CPU simplemente lo ignorará, o al menos se supone que debería hacerlo. Lo que Ormandy y sus colegas de Google descubrieron es que en las CPU en las que el FSRM está activo, estos prefijos redundantes o conflictivos se interpretan de una forma extraña, lo que da lugar a una vulnerabilidad de seguridad.

No está del todo claro por qué ocurre esto exactamente, ya que el microcódigo de la CPU que se encarga de esta parte es de código cerrado y propietario, por lo que los investigadores no tenían visibilidad de esas partes internas. Lo que observaron y pudieron replicar fue el bloqueo de la CPU que provocó una situación de denegación de servicio, pero especularon con la posibilidad de una escalada de privilegios.

 

Intel considera la vulnerabilidad como una escalada de privilegios

Intel, que también descubrió este problema internamente a través de sus propios ingenieros, marcó el fallo como un problema de escalada de privilegios, confirmando la posibilidad. También calificaron la vulnerabilidad con una gravedad de 8,8 sobre 10 en la escala CVSS.

"No conozco ninguna documentación que explique exactamente cómo funciona FSRM, pero puedes comprobar si tienes un procesador que lo soporta mirando la línea flags en /proc/cpuinfo", dijo Ormandy. Algunos de los nombres en clave de CPU que incorporan esta función son Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake y Sapphire Rapids. Según el comunicado de Intel, las CPU afectadas incluyen las versiones móviles o de sobremesa de los procesadores Intel Core de 10ª, 11ª, 12ª y 13ª generación, así como las CPU de servidor Xeon D y Xeon Scalable de 3ª y 4ª generación.

Esta es la última de una larga lista de vulnerabilidades de CPU descubiertas en los últimos años, entre ellas varias halladas este año por investigadores de Google: Downfall (CVE-2022-40982) y Zenbleed (CVE-2023-20593). Estos fallos ponen de relieve por qué mantener la BIOS/UEFI actualizada con los últimos parches de microcódigo de la CPU debería formar parte de cualquier programa de seguridad empresarial.



TE PUEDE INTERESAR...

Accede a la cobertura de nuestros encuentros
 
Lee aquí nuestra revista digital de canal

DealerWorld Digital

 

Forma parte de nuestra comunidad
 
¿Interesado en nuestros foros? 

 

Whitepaper

Documento Pure Storage y Kyndryl INFRAESTRUCTURAS