La nueva falla del kernel StackRot Linux permite la escalada de privilegios

linux

Ha surgido información técnica sobre una vulnerabilidad grave que afecta a varias versiones del kernel de Linux y que podría activarse con "capacidades mínimas". El problema de seguridad se conoce como StackRot (CVE-2023-3269) y puede usarse para comprometer el kernel y elevar los privilegios.

Un parche está disponible para los núcleos estables afectados desde el 1 de julio y se esperan detalles completos sobre el problema junto con un código de explotación completo para finales de mes.

El investigador de seguridad Ruihan Li descubrió e informó sobre la vulnerabilidad. Explica en una publicación de hoy que afecta el subsistema de administración de memoria del kernel, un componente a cargo de implementar la memoria virtual y la paginación de demanda, la asignación de memoria para las necesidades del kernel y los programas de espacio del usuario, así como la asignación de archivos a la dirección de los procesos. espacio.

StackRot afecta todas las configuraciones del kernel en las versiones de Linux 6.1 a 6.4.

Aunque Li envió el informe de vulnerabilidad el 15 de junio, la creación de una solución tomó casi dos semanas debido a su complejidad, y Linus Torvalds lideró el esfuerzo.

"El 28 de junio, durante la ventana de fusión para el kernel 5.5 de Linux, la solución se fusionó en el árbol de Linus. Linus proporcionó un mensaje de fusión completo para dilucidar la serie de parches desde una perspectiva técnica. Estos parches se trasladaron posteriormente a kernels estables (6.1.0). 37, 6.3.11 y 6.4.1), resolviendo efectivamente el error "Stack Rot" el 1 de julio", aclaró el investigador .

Detalles de StackRot

StackRot surge del manejo de la expansión de la pila por parte del kernel de Linux dentro de su subsistema de administración de memoria, vinculado a la administración de áreas de memoria virtual (VMA).

Específicamente, el punto débil está en el "árbol de arce", un nuevo sistema de estructura de datos para VMA introducido en el kernel 6.1 de Linux que reemplazó a los "árboles rojo-negro" y se basó en el mecanismo de lectura-copia-actualización (RCU).

La vulnerabilidad es un problema de uso después de liberar (UAF) que se deriva de la forma en que se manejó la expansión de la pila, porque el árbol de arce podría reemplazar un nodo sin obtener el bloqueo de escritura de administración de memoria (MM).

A medida que el kernel de Linux expande la pila y elimina la brecha entre los VMA, se crea un nuevo nodo en el "árbol de arce" y el antiguo se marca para su eliminación después de que finalicen las lecturas actuales debido a la seguridad de RCU del árbol de arce.

Sin embargo, durante el período de gracia de la RCU, puede ocurrir un problema de uso después de la liberación cuando un proceso accede al nodo antiguo, creando así un contexto explotable para elevar los privilegios.

un escenario de condición de carrera en un sistema multi-CPU que resulta en una vulnerabilidad Use-After-Free (UAF) debido al problema de StackRot en el kernel de Linux
Condición de carrera en un sistema de múltiples CPU que da como resultado una falla de uso después de liberarse  (github.com/lrh2000)

 Ruihan Li señala que explotar StackRot es una tarea desafiante y que CVE-2023-3269 puede ser el primer ejemplo de una vulnerabilidad de uso después de libre por RCU (UAFBR) teóricamente explotable.

Sin embargo, el investigador anunció planes para revelar los detalles técnicos completos sobre StackRot y un exploit de prueba de concepto (PoC) para fines de julio.

Linux kernel 6.1 ha sido aprobado como la versión de soporte a largo plazo (LTS) desde febrero. Sin embargo, no todas las principales distribuciones de Linux lo han adoptado.

Por ejemplo, Ubuntu 22.04.2 LTS (Jammy Jellyfish), cuyo soporte estándar termina en abril de 2027, viene con la versión 5.19 del kernel de Linux. Por otro lado, Debian 12 (Bookworm) viene con Linux kernel 6.1.

Una lista completa de las distribuciones de Linux que utilizan la versión 6.1 o superior del kernel está disponible en DistroWatch .

Los usuarios deben verificar la versión del kernel en la que se ejecuta su distribución de Linux y elegir una que no esté afectada por StackRot o una versión actualizada que contenga la solución.

Fuente: BC

Comentarios

Entradas populares de este blog

El Modelado de Amenazas de Seguridad

¿Como atacar Kerberos?

Descienden las detecciones de malware en Android y crecen en iOS