Recientemente se han descubierto tres métodos para evadir restricciones de seguridad en los espacios de nombres de usuario (user namespaces) de Ubuntu Linux.
Estos fallos permiten que usuarios locales sin privilegios creen espacios de nombres con capacidades administrativas completas, aumentando así el riesgo de explotación de vulnerabilidades en componentes del kernel.
Las versiones afectadas por estos problemas incluyen Ubuntu 23.10 (donde las restricciones están disponibles) y Ubuntu 24.04 (que las tiene activadas por defecto).
⚠️ ¿Qué son los User Namespaces en Linux?
Los espacios de nombres de usuario (user namespaces) permiten que un usuario opere como administrador (root) dentro de un entorno aislado o sandbox, pero sin afectar el sistema anfitrión.
Para evitar el abuso de esta funcionalidad, Ubuntu introdujo restricciones basadas en AppArmor desde la versión 23.10, activadas por defecto en la versión 24.04.
Sin embargo, los investigadores de Qualys descubrieron que estas restricciones pueden evadirse mediante tres métodos diferentes.
🔑 Tres métodos de evasión identificados por Qualys
-
⚡ Evasión usando aa-exec
La herramienta aa-exec permite ejecutar programas bajo perfiles específicos de AppArmor. Algunos perfiles, como los de trinity, chrome o flatpak, permiten crear espacios de nombres con capacidades totales. Un usuario sin privilegios puede ejecutar el comando unshare mediante aa-exec usando estos perfiles permisivos y evadir las restricciones impuestas. -
🐚 Evasión usando busybox
La shell busybox, instalada por defecto tanto en Ubuntu Server como Desktop, posee un perfil de AppArmor permisivo que permite crear espacios de nombres sin restricción. Esto facilita que un atacante ejecute una shell mediante busybox, utilizando luego el comando unshare para crear un espacio de nombres con capacidades administrativas completas. -
💻 Evasión usando LD_PRELOAD
Esta técnica aprovecha la variable de entorno LD_PRELOAD del enlazador dinámico para inyectar una biblioteca compartida personalizada en procesos confiables. Inyectando una shell en programas como Nautilus, que cuenta con un perfil AppArmor permisivo, un atacante puede lanzar un espacio de nombres privilegiado desde dicho proceso, superando así las restricciones previstas.
📅 Respuesta y acciones de mitigación por parte de Canonical
Canonical, la empresa desarrolladora de Ubuntu, reconoció los hallazgos de Qualys y confirmó que se encuentran trabajando en mejoras adicionales para las protecciones de AppArmor.
Sin embargo, aclararon que no consideran estas evasiones como vulnerabilidades, sino como limitaciones en un mecanismo de defensa en profundidad. Por esta razón, las mejoras se incorporarán en futuras actualizaciones regulares, no como correcciones urgentes de seguridad.
Mientras tanto, Canonical ha sugerido los siguientes pasos para mitigar estos riesgos de forma manual:
- ✅ Activar la opción del kernel:(no activada por defecto)
inikernel.apparmor_restrict_unprivileged_unconfined=1
- ✅ Desactivar los perfiles de AppArmor demasiado permisivos para busybox y Nautilus, que permiten creación de espacios de nombres.
- ✅ Aplicar perfiles AppArmor más estrictos a aplicaciones como Nautilus que dependen de espacios de nombres.
- ✅ Utilizar la herramienta aa-status para identificar y desactivar otros perfiles que puedan ser riesgosos.
🚩 Publicación anticipada por terceros
Aunque Qualys notificó al equipo de seguridad de Ubuntu el 15 de enero para coordinar la publicación, el método que implica a busybox fue descubierto y revelado de forma independiente por el investigador Roddux el 21 de marzo.
📌 Conclusiones y recomendaciones
Estos nuevos descubrimientos destacan la necesidad continua de monitorear y ajustar las configuraciones de seguridad incluso en sistemas que cuentan con medidas preventivas avanzadas. Los administradores deben aplicar las mitigaciones manuales sugeridas por Canonical hasta que las soluciones definitivas sean distribuidas oficialmente.
Fuente: somoslibres