ClickCease La vulnerabilidad StackRot en el kernel de Linux permite la elevación de privilegios

Tabla de contenidos

Únase a nuestro popular boletín

Únase a más de 4.500 profesionales de Linux y el código abierto.

2 veces al mes. Sin spam.

La vulnerabilidad StackRot en el kernel de Linux permite la elevación de privilegios

Rohan Timalsina

18 de julio de 2023 - Equipo de expertos TuxCare

Un investigador de seguridad, Ruihan Li, descubrió una nueva vulnerabilidad, denominada StackRot, en el subsistema de gestión de memoria del kernel de Linux. El manejo incorrecto de bloqueos para acceder y actualizar áreas de memoria virtual (VMA) dio lugar a un fallo de uso después de libre. Un atacante puede utilizar este fallo para permitir la ejecución de código arbitrario del kernel, escalar contenedores y adquirir privilegios de root.

Vulnerabilidad de StackRot (CVE-2023-3269)

Según BleepingComputer, StackRot es el resultado de la forma en que el kernel de Linux gestiona la expansión de la pila dentro de su subsistema de gestión de memoria, en particular en relación con las áreas de memoria virtual (VMA).

La vulnerabilidad se produce en el árbol de arce, un sistema de estructura de datos introducido recientemente para gestionar las áreas de memoria virtual (VMA). Este sistema sustituye a los anteriores "árboles rojo-negro" y se basa en el mecanismo de lectura-copia-actualización (RCU). El problema surge cuando el árbol de arce sustituye un nodo sin obtener el bloqueo de escritura de gestión de memoria (MM) necesario.

Como el kernel de Linux elimina el espacio entre VMAs durante el proceso de expansión de la pila, se crea un nuevo nodo en el árbol de arce. Al mismo tiempo, el antiguo se marca para su borrado una vez que se completan las lecturas en curso, siguiendo los principios de seguridad RCU del árbol de arce.

Sin embargo, surge un problema crítico durante el periodo de gracia de la RCU, donde puede producirse un problema de uso después de la liberación si un proceso accede al nodo antiguo. Como resultado, un atacante puede sobrescribir memoria y elevar privilegios.

Linus Torvalds mejora la ampliación de la pila del modo de usuario de Linux

Linus Torvalds, el creador de Linux, ya no escribe tanto código del núcleo como antes. En la actualidad, se centra más en supervisar la comunidad de desarrollo del núcleo, revisando el código, gestionando las versiones y participando en las discusiones de las listas de correo. Sin embargo, de vez en cuando sigue dedicándose a la piratería informática de bajo nivel, como ha hecho recientemente con el código de expansión de la pila del modo de usuario de Linux 6.5.

Linux Torvalds dijo que el código de expansión de la pila en modo usuario había sido modificado para asegurar que el bloqueo mmap_lock siempre se adquiere para escribir antes de hacer cualquier cambio en la disposición de la máquina virtual. El proceso seguía siendo relativamente sencillo, simplemente ajustando el vm_start (o vm_end en el caso de pilas crecientes) e implementando un bloqueo ad-hoc especializado utilizando la función anon_vma lock y el mm->page_table_lock.

Sin embargo, Ruihan Li les llamó la atención sobre el hecho de que, con la introducción del código del árbol de arce en la disposición vma, ya no basta con modificar sólo vm_start y vm_end, y el mecanismo de bloqueo existente es defectuoso.

Según Ruihan Li, la explotación de StackRot plantea un desafío considerable, y CVE-2023-3269 puede servir como el primer ejemplo documentado de una vulnerabilidad potencialmente explotable de uso-después-del-libre-por-RCU (UAFBR). El investigador ha anunciado su intención de revelar todos los detalles técnicos de StackRot, junto con una prueba de concepto, a finales de julio.

Conclusión

Aunque el núcleo de Linux 6.1 es la versión de soporte a largo plazo (LTS), no todas las grandes distribuciones de Linux la han implementado. Por ejemplo, Ubuntu 22.04.2 LTS (Jammy Jellyfish), con soporte hasta abril de 2027, se entrega con el núcleo Linux 5.19. Mientras que la última versión de Debian, Debian 12 (Bookworm), incluye el núcleo Linux 6.1. Por otra parte, la vulnerabilidad StackRot no se aplica a las versiones del kernel suministradas con Red Hat Enterprise Linux, ya que el código afectado no se introdujo en esas plataformas.

 

Las fuentes de este artículo incluyen un artículo de BleepingComputer.

Resumen
La vulnerabilidad StackRot en el kernel de Linux permite la elevación de privilegios
Nombre del artículo
La vulnerabilidad StackRot en el kernel de Linux permite la elevación de privilegios
Descripción
Un investigador de seguridad, Ruihan Li, descubrió una nueva vulnerabilidad StackRot en el subsistema de gestión de memoria del kernel de Linux.
Autor
Nombre del editor
TuxCare
Logotipo de la editorial

¿Desea automatizar la aplicación de parches de vulnerabilidad sin reiniciar el núcleo, dejar el sistema fuera de servicio o programar ventanas de mantenimiento?

Más información sobre Live Patching con TuxCare

Conviértete en escritor invitado de TuxCare

Empezar

Correo

Únete a

4,500

Profesionales de Linux y código abierto

Suscríbase a
nuestro boletín