9 mar 2022

El exploit 'Dirty Pipe' otorga privilegios de root a cualquier usuario de Linux o Android (LPE)

El investigador de seguridad Max Kellerman ha revelado una vulnerabilidad (y el exploit) de Linux que afecta a todos las versiones del Kernels desde 5.8, incluido Android. Conocido como Dirty Pipe, permite sobrescribir datos en archivos de solo lectura y puede conducir a un escalamiento de privilegios local (LPE) mediante la inyección de código en los procesos raíz.

Conocido correctamente como CVE-2022-0847, Dirty Pipe es similar a la vulnerabilidad Dirty COW de 2016 que se centró en el mecanismo de copy-on-write (COW) en el subsistema de memoria del kernel de Linux. Convertía un mapeo de solo lectura en uno de escritura y podía combinarse con otros exploits para lograr el acceso de root.

Dirty Pipe es más fácil de explotar de Dirty COW, con pruebas de concepto como la que el desarrollador del Kernel Binni Shah creó y publicó rápidamente en Twitter, mientras que el investigador de seguridad Phith0n mejoró el proceso para dejar la cuenta root sin contraseña.

La parte 'pipe' en el nombre se refiere a una herramienta para la comunicación unidireccional entre procesos, la primera escritura a la que se le asigna una página (4kb) de memoria. Si usa splice() para agregar datos de un archivo a la canalización, se escribe en un caché de página y desde allí puede sobrescribir el caché simplemente escribiendo datos nuevos, debidamente preparados, en la canalización.

En Linux, "dirty" significa que una página está esperando una escritura en el disco y la memoria caché de la página no escribe en el disco a menos que una página esté sucia. Sobrescribir sus datos no "ensucia" una página, por lo que permanece en la memoria caché y se pueden canalizar los datos de un exploit preparados adecuadamente. Escribir en una pipe no verifica los permisos, por lo que cualquiera puede hacerlo, lo que podría permitir un escalamiento de privilegios que desaparece al reiniciar, porque nunca se escribió en el disco.

"Para hacer que esta vulnerabilidad sea más interesante no solo funciona sin permisos de escritura, sino que también funciona con archivos inmutables, en instantáneas btrfs de solo lectura y en montajes de solo lectura (incluidos los montajes de CD-ROM). Esto se debe a que la memoria caché de la página siempre se puede escribir (por el núcleo), y escribir en una canalización nunca verifica ningún permiso" escribió Kellerman.

Otros investigadores demostraron rápidamente que la creación no autorizada de una clave SSH era solo una de las muchas acciones maliciosas que un atacante puede realizar al explotar la vulnerabilidad. Este programa, por ejemplo, secuestra un binario SUID para crear una shell, mientras que este permite a los usuarios que no son de confianza sobrescribir datos en archivos de solo lectura.

Kellerman descubrió la vulnerabilidad después de investigar un error que corrompía los registros de acceso al servidor web de un cliente. Si bien es fácil de explotar, la vulnerabilidad requiere acceso físico a la máquina que se está rooteando, lo que hace que sea más difícil de implementar que los que se entregan de forma remota o mediante malware.

Kellerman envió un informe de error (y un parche) al equipo de seguridad del Kernel de Linux en febrero, y las correcciones se emitieron tres días después. Google agregó la solución al Kernel de Android aproximadamente al mismo tiempo. La vulnerabilidad se ha corregido en Linux 5.16.11, 5.15.25 y 5.10.102.

Fuente: TomsHardware

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!