Ubunlog Darkcrizt  

Brecha en Ubuntu permite evadir restricciones los espacios de nombre de usuario

Vulnerabilidad

Hace pocos días, los investigadores de Qualys dieron a conocer mediante las listas de correo un informe sobre el descubrimiento de tres métodos para eludir las restricciones de acceso al espacio de nombres de usuario en Ubuntu.

Y es que a partir de la versión 23.10, Ubuntu introdujo una capa adicional de seguridad para impedir que usuarios sin privilegios creen espacios de nombres de usuario, una medida destinada a mitigar riesgos de seguridad.

Si bien el acceso a estos espacios no es en sí mismo una vulnerabilidad, su uso puede exponer subsistemas del kernel a posibles ataques, especialmente en entornos de aislamiento como contenedores o sandboxes de navegadores.

Descubrimos tres formas diferentes de eludir estas restricciones de espacios de nombres de usuario sin privilegios; cada una permite a un atacante local crear espacios de nombres de usuario con capacidades de administrador completas y, por lo tanto, explotar vulnerabilidades en componentes del kernel que requieren capacidades como CAP_SYS_ADMIN o CAP_NET_ADMIN

Importancia de los espacios de nombres en Linux

Los espacios de nombres permiten que diferentes procesos gestionen recursos de manera independiente, aislando entornos sin interferir con otros procesos. El espacio de nombres de usuario posibilita que procesos sin privilegios accedan a subsistemas del kernel que, normalmente, requieren permisos elevados.

El problema radica en que muchos subsistemas del kernel fueron diseñados bajo el supuesto de que solo el usuario root tendría acceso. Con la introducción de los espacios de nombres de usuario, las vulnerabilidades que antes no eran explotables por usuarios comunes ahora pueden ser utilizadas para obtener acceso privilegiado al sistema.

Métodos descubiertos para evadir las restricciones

Sobre los fallos descubiertos por los investigadores de Qualys, estos mencionan que han identificado tres formas en las que un atacante sin privilegios podría crear un espacio de nombres de usuario con permisos elevados en Ubuntu, siendo la primera de ellas el uso de la utilidad aa-exec.

Se menciona que la herramienta aa-exec, incluida en la base de Ubuntu, permite aplicar perfiles de AppArmor a procesos arbitrarios. Esto permite a un atacante utilizarla para adoptar perfiles que permitan el acceso a espacios de nombres de usuario, como los de Chrome, Flatpak y Trinity.

El segundo fallo que detectaron los investigadores es con el uso de busybox. Y es que la utilidad busybox (presente por defecto en Ubuntu) cuenta con un perfil de AppArmor que permite crear espacios de nombres de usuario. Un atacante puede iniciar un shell desde busybox y luego utilizar unshare para crear un entorno aislado con permisos elevados.

El tercer y ultimo fallo detectado es mediante la variable de entorno LD_PRELOAD. Con ello, un atacante puede inyectar su propia biblioteca bajo cualquier programa que tenga un perfil de AppArmor con acceso a los espacios de nombres de usuario. Un ejemplo de ello es Nautilus un programa con dichos privilegios.

Medidas de mitigación

Para evitar la explotación de estas vulnerabilidades, los desarrolladores de Ubuntu recomiendan las siguientes acciones:

La restricción de aa-exec

Esto impide que usuarios sin privilegios cambien perfiles de AppArmor arbitrariamente. Esto se puede realizar con la ejecución del siguiente comando:

sysctl kernel.apparmor_restrict_unprivileged_unconfined=1

Deshabilitar perfiles de AppArmor problemáticos

Si no es necesario utilizar busybox con acceso a espacios de nombres o generar miniaturas en Nautilus, se pueden deshabilitar sus perfiles de AppArmor

Verificar qué programas tienen permisos para crear espacios de nombres

Esto permite identificar otras aplicaciones instaladas con permisos similares.

Medidas de protección

Finalmente, cabe mencionar que para reducir esta superficie de ataque, Ubuntu adoptó un modelo híbrido que restringe la creación de espacios de nombres de usuario, con el cual solo ciertos programas pueden crearlos si cumplen con las siguientes condiciones:

  • Poseen un perfil de AppArmor con reglas explícitas que lo permiten.
  • Tienen derechos CAP_SYS_ADMIN, lo que les otorga privilegios administrativos.

Esto proporciona un equilibrio entre seguridad y funcionalidad, permitiendo el uso de sandboxes en aplicaciones seleccionadas sin exponer todo el sistema a riesgos innecesarios.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.