Un nuevo ataque de caché en el kernel de Linux llamado SLUBStick tiene una probabilidad alta de convertir vulnerabilidades limitada en otra con la capacidad de lectura y escritura arbitraria de memoria, lo que permite a los investigadores elevar privilegios o escapar de contenedores.
El descubrimiento proviene de un equipo de investigadores de la Universidad Tecnológica de Graz (Austria) que demostró el ataque en las versiones del kernel de Linux 5.9 y 6.2 (la más reciente) utilizando nueve CVE existentes en sistemas de 32 y 64 bits, lo que indica una alta versatilidad.
Además, el ataque funciona con todas las defensas del kernel modernas como Supervisor Mode Execution Prevention (SMEP), Supervisor Mode Access Prevention (SMAP) y Kernel Address Space Layout Randomization (KASLR) activas.
SLUBStick se presentará en detalle en la próxima conferencia Usenix Security Symposium a finales de este mes. Los investigadores mostrarán un escalamiento de privilegios y el escape de contenedores en las últimas versiones de Linux con defensas de última generación habilitadas.
Mientras tanto, el documento técnico [PDF] publicado contiene todos los detalles sobre el ataque y los posibles escenarios de explotación.
Detalles de SLUBStick
Una forma en que el núcleo de Linux administra la memoria de manera eficiente y segura es asignando y desasignando fragmentos de memoria, llamados "slabs", para diferentes tipos de estructuras de datos.
Las fallas en este proceso de administración de memoria pueden permitir a los atacantes corromper o manipular las estructuras de datos, llamados "ataques de caché cruzado". Sin embargo, estos son efectivos aproximadamente el 40% del tiempo y generalmente conducen a fallas del sistema tarde o temprano.
SLUBStick explota heap vulnerability, such as a double-free, user-after-free, o out-of-bounds write, para manipular el proceso de asignación de memoria.
Como ocurre con la mayoría de los ataques que implican un canal lateral, SLUBStick requiere acceso local en la máquina de destino con capacidades de ejecución de código. Además, el ataque requiere la presencia de una vulnerabilidad de montón en el kernel de Linux, que luego se utilizará para obtener acceso de lectura y escritura a la memoria.
Si bien esto puede hacer que el ataque parezca poco práctico, presenta algunos beneficios para los atacantes. Para los atacantes con capacidades de ejecución de código, SLUBStick brinda la capacidad de lograr una escalamiento de privilegios a root, eludir las defensas del kernel, realizar escapes de contenedores o usarlo como parte de una cadena de ataque compleja.
Además, en la fase posterior a la explotación, SLUBStick podría modificar las estructuras del kernel o mantener la persistencia, lo que dificulta que los defensores detecten el malware.
Aquellos que quieran profundizar en SLUBStick y experimentar con los exploits utilizados por los investigadores de la Universidad de Graz pueden encontrarlos en el repositorio de GitHub de los investigadores.
Fuente: BC