Identificada como CVE-2019-1125, la vulnerabilidad podría permitir a los atacantes locales no privilegiados acceder a información confidencial almacenada en la memoria del kernel privilegiado del sistema operativo, incluidas contraseñas, tokens y claves de cifrado, que de otro modo serían inaccesibles.
La ejecución especulativa es un componente central del diseño moderno de microprocesador que ejecuta instrucciones especulativamente basadas en suposiciones que se consideran verdaderas. Si los supuestos resultan válidos, la ejecución continúa, de lo contrario se descarta.
Dichas ejecuciones especulativas también tienen efectos secundarios que no se restauran cuando se desenrolla el estado de la CPU, lo que lleva a la divulgación de información, a la que luego se puede acceder mediante ataques de canal lateral .
Microsoft emitió silenciosamente parches para la nueva vulnerabilidad de ejecución especulativa en su actualización de seguridad del martes de parches de julio de 2019 que fue descubierta y revelada de manera responsable por investigadores de la firma de seguridad Bitdefender .
Según un aviso de seguridad publicado hoy por Red Hat , el ataque se basa en la ejecución especulativa de instrucciones SWAPGS inesperadas después de que una sucursal se pronostica erróneamente.
La instrucción SWAPGS es una instrucción de sistema privilegiada que intercambia los valores en el registro GS con los valores MSR y solo está disponible en dispositivos con arquitectura x86-64.
«Dado que SWAPGS se puede ejecutar especulativamente en modo de usuario, un atacante puede filtrar la dirección de los datos por CPU, normalmente disponibles solo para el núcleo», dicen los investigadores.
El ataque SWAPGS rompe el aislamiento de la tabla de páginas del núcleo (KPTI) proporcionado por las CPU modernas y se puede utilizar para filtrar la memoria del núcleo sensible del modo de usuario no privilegiado.
«Es posible que estas ramas condicionales en el código de entrada del kernel de Linux puedan especular erróneamente en un código que no realizará los SWAPGS, lo que da como resultado una ventana de ejecución especulativa durante la cual se usa el GS incorrecto para operaciones de memoria dependientes», dice RedHat en Su asesoramiento.
Según los investigadores de Bitdefender, el nuevo ataque evita todas las mitigaciones conocidas implementadas después del descubrimiento de las vulnerabilidades de Spectre y Meltdown a principios de 2018 que ponen en riesgo prácticamente todas las computadoras del mundo.
Aunque el kernel de Linux también contiene un dispositivo que puede explotarse para atacar sistemas Linux en un ataque, los investigadores creen que explotar los sistemas operativos Linux podría ser un poco más difícil que las computadoras con Windows.
Dado que el ataque no puede iniciarse de forma remota, es poco probable que cause infecciones masivas de malware, como EternalBlue se usó para WannaCry; en cambio, puede explotarse como parte de un ataque extremadamente dirigido.
Los usuarios afectados pueden abordar este problema a través de una actualización de software para sus sistemas operativos que mitigaría cómo la CPU accede especulativamente a la memoria.
Mientras tanto, Google también ha preparado un parche para corregir esta vulnerabilidad en su ChromeOS 4.19 con una actualización que se lanzará próximamente, describiendo la falla como:
«Un atacante puede entrenar al predictor de rama para saltear especulativamente la ruta de swapgs para una interrupción o excepción. Si inicializan el registro GS a un valor de espacio de usuario, si los swapgs se saltan especulativamente, los accesos de percpu relacionados con GS posteriores en la ventana de especulación se realizará con el valor GS controlado por el atacante. Esto podría provocar que se acceda y se filtre la memoria privilegiada «.
Fuente: thehackernews.com