Un ingeniero de Google ha descubierto tres agujeros de seguridad que afectan a las defensas contra Spectre incluidas en el kernel Linux, concretamente aquellas diseñadas para los procesadores de AMD e Intel.
Para los que anden perdidos, las vulnerabilidades tipo Spectre, que en esencia son de canal lateral, han afectado a procesadores de todos los fabricantes conocidos y son imposibles de corregir debido a que requieren de parchear el propio silicio. En consecuencia, lo que se ha hecho ha sido implementar mitigaciones en todos los niveles posibles, abarcando los componentes esenciales de los sistemas operativos (incluyendo el kernel), el firmware, los microcódigos, los drivers e incluso las aplicaciones. Una vez explotadas con éxito, la vulnerabilidades pueden ser utilizadas para llevar a cabo operaciones como la extracción de datos.
La primera vulnerabilidad consiste en la desactivación forzada de la IBPB (Barrera de Predicción Indirecta de Saltos) basada en STIBP (Predictores de Salto Indirecto de un Solo Hilo) e IBRS (Especulación Restringida de Salto Indirecto) mejorada. Este manejo incorrecto de la IBPB impacta en los procesadores AMD, yendo además contra las recomendaciones del fabricante, y tiene como consecuencia la posibilidad de hacer que las aplicaciones sean vulnerables ante la segunda variante de Spectre.
La segunda vulnerabilidad descubierta consiste en un apagado en falso del proceso cruzado de la SSBD (Inhabilitación del Desvío del Almacenamiento Especulativo), afectando a una optimización de la SSBD que ha salido mal.
La tercera vulnerabilidad descubierta en Linux permite habilitar la Especulación Indirecta de Salto incluso después de haber forzado su inhabilitación. La situación empeora si se tiene en cuenta que el comando de control de especulación “prctl” podría reportar que la Especulación Indirecta de Salto está inhabilitada cuando en realidad está habilitada.