Linux ha sido mordido por su vulnerabilidad de mayor gravedad en años

Linux ha sido mordido por su vulnerabilidad de mayor gravedad en años
Fantástica ilustración de un tiburón atacando unos y ceros.

Linux tiene otra vulnerabilidad de alta gravedad que facilita que los usuarios no confiables ejecuten código capaz de llevar a cabo una serie de acciones maliciosas, incluida la instalación de puertas traseras, la creación de cuentas de usuario no autorizadas y la modificación de scripts o archivos binarios utilizados por servicios o aplicaciones privilegiados.

Dirty Pipe, como se ha llamado a la vulnerabilidad, se encuentra entre las amenazas de Linux más graves que se han revelado desde 2016, el año en que salió a la luz otra falla de Linux de alta gravedad y fácil de explotar (llamada Dirty Cow) mientras se estaba utilizando. para hackear el servidor de un investigador. Los investigadores en 2016 demostraron cómo explotar Dirty Cow para rootear cualquier teléfono Android, independientemente de la versión del sistema operativo móvil. Once meses después, los investigadores descubrieron 1200 aplicaciones de Android en mercados de terceros que explotaban maliciosamente la falla para hacer precisamente eso.

Cuando Nadie se vuelve todopoderoso

El nombre Dirty Pipe está destinado tanto a señalar similitudes con Dirty Cow como a proporcionar pistas sobre los orígenes de la nueva vulnerabilidad. “Tubo” se refiere a un tubería, un mecanismo de Linux para que un proceso del sistema operativo envíe datos a otro proceso. En esencia, una canalización son dos o más procesos que se encadenan para que el texto de salida de un proceso (stdout) pase directamente como entrada (stdin) al siguiente.

Rastreada como CVE-2022-0847, la vulnerabilidad salió a la luz cuando un investigador del creador de sitios web CM4all estaba solucionando una serie de archivos corruptos que seguían apareciendo en la máquina Linux de un cliente. Después de meses de análisis, el investigador finalmente descubrió que los archivos dañados del cliente eran el resultado de un error en el kernel de Linux.

El investigador, Max Kellermann de la empresa matriz de CM4all, Ionos, finalmente descubrió cómo armar la vulnerabilidad para permitir que cualquier persona con una cuenta, incluidas las cuentas de “nadie” con menos privilegios, agregue una clave SSH a la cuenta del usuario raíz. Con eso, el usuario que no es de confianza podría acceder de forma remota al servidor con una ventana SSH que tiene todos los privilegios de raíz.

Comentarios incluidos con la PoC de Kellermann.
Agrandar / Comentarios incluidos con la PoC de Kellermann.

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. Esta programapor ejemplo, secuestra un binario SUID para crear un shell raíz, mientras que Éste permite a los usuarios que no son de confianza sobrescribir datos en archivos de solo lectura:

Otras acciones maliciosas habilitadas por Dirty Pipe incluyen la creación de un trabajo cron que se ejecuta como una puerta trasera, agregando una nueva cuenta de usuario a /etc/passwd + /etc/shadow (otorgándole a la nueva cuenta privilegios de raíz) o modificando un script o binario utilizado por un servicio privilegiado.

“Es lo más grave posible para una vulnerabilidad del kernel local”, escribió Brad Spengler, presidente de Open Source Security, en un correo electrónico. “Al igual que Dirty Cow, esencialmente no hay forma de mitigarlo, e involucra la funcionalidad central del kernel de Linux”.

La vulnerabilidad apareció por primera vez en el kernel de Linux. versión 5.8que se lanzó en agosto de 2020. La vulnerabilidad persistió hasta el mes pasado, cuando se reparado con el lanzamiento de las versiones 5.16.11, 5.15.25 y 5.10.102. Prácticamente todas las distribuciones de Linux se ven afectadas.

Lanzar una llave inglesa en Android

Dirty Pipe también afecta a cualquier versión de Android que se base en una de las versiones vulnerables del kernel de Linux. Dado que Android está tan fragmentado, los modelos de dispositivos afectados no se pueden rastrear de manera uniforme. La última versión de Android para Pixel 6 y Samsung Galaxy S22, por ejemplo, ejecuta 5.10.43, lo que significa que son vulnerables. Mientras tanto, un Pixel 4 en Android 12 ejecuta 4.14, que no se ve afectado. Los usuarios de Android pueden verificar qué versión de kernel usa su dispositivo yendo a Configuración> Acerca del teléfono> Versión de Android.

“La vulnerabilidad de Dirty Pipe es extremadamente grave porque permite que un atacante sobrescriba, temporal o permanentemente, archivos en el sistema que no debería poder cambiar”, escribió Christoph Hebeisen, jefe de investigación de seguridad en el proveedor de seguridad móvil Lookout, en un Email. “Los atacantes pueden usar esto para cambiar el comportamiento de los procesos privilegiados, obteniendo efectivamente la capacidad de ejecutar código arbitrario con amplios privilegios del sistema”.

El investigador de Lookout dijo que la vulnerabilidad puede explotarse en teléfonos Android a través de una aplicación maliciosa que eleva sus privilegios, que por defecto se supone que son limitados. Otra vía de ataque, dijo, es usar un exploit diferente para obtener una ejecución de código limitada (por ejemplo, con los derechos del sistema de una aplicación legítima que ha sido pirateada) y combinarlo con Dirty Pipe para que el código obtenga una raíz sin restricciones.

Si bien Kellermann dijo que Google fusionó su corrección de errores con el kernel de Android en febrero, no hay indicios de que las versiones de Android basadas en una versión vulnerable del kernel de Linux estén arregladas. Los usuarios deben asumir que cualquier dispositivo que ejecute una versión de Android basada en una versión vulnerable del kernel de Linux es susceptible a Dirty Pipe. Los representantes de Google no respondieron a un correo electrónico en busca de comentarios.

Leave a Reply

Your email address will not be published. Required fields are marked *