Clicky

Vulnerabilidad de Snapd permite a los atacantes obtener acceso root en sistemas Linux

Linux Snapd

Denominada "Dirty_Sock", afecta directamente a Ubuntu

Ubuntu y algunas otras distribuciones de Linux tienen una severa vulnerabilidad de escalada de privilegios que podría permitir que un atacante local o un programa malicioso obtengan privilegios de root y control total sobre el sistema en cuestión.

Denominada "Dirty_Sock" e identificada como CVE-2019-7304, la vulnerabilidad fue descubierta por el investigador de seguridad Chris Moberly, quien se lo reveló a fines del mes pasado a Canonical, el fabricante de Ubuntu.

La vulnerabilidad reside en la API REST para el servicio snapd, un sistema universal de empaquetado de Linux que hace que una aplicación sea compatible para varias distribuciones de Linux sin necesidad de ninguna modificación.

Construido por Canonical, snapd viene instalado por defecto en todas las versiones de Ubuntu y también es usado por otras distribuciones de Linux, incluyendo Debian, OpenSUSE, Arch Linux, Solus y Fedora.

Los paquetes Snap son básicamente aplicaciones comprimidas junto con sus dependencias que también incluyen instrucciones sobre cómo ejecutar e interactuar con otro software en varios sistemas Linux para escritorio, nube e Internet de las Cosas.

Snap aloja localmente un servidor web (socket UNIX_AF) para ofrecer una lista de API RESTful que ayudan al servicio a realizar varias acciones en el sistema operativo. Estas API REST vienen con control de acceso para definir permisos a nivel de usuario para tareas específicas. Algunas API potentes solo están disponibles para usuarios root, mientras que otras pueden ser accedidas por usuarios con pocos privilegios.

Dirty Sock

Según Moberly, una falla en la forma en que el mecanismo de control de acceso verifica el UID asociado con cualquier solicitud hecha a un servidor permite a los atacantes sobrescribir la variable UID y acceder a cualquier función de API, incluidas aquellas que están restringidas para el usuario root.

"Las versiones de Snapd 2.28 a 2.37 validaron y analizaron incorrectamente la dirección del socket remoto al realizar controles de acceso en su socket UNIX", explica Ubuntu en su aviso. "Un atacante local podría usar esto para acceder a las API de socket privilegiadas y obtener privilegios de administrador".

Sin embargo, debe tenerse en cuenta que, dado que el aprovechamiento de Dirty Sock aprovecha el defecto de escalamiento de privilegios locales, no permite que los piratas informáticos pongan en peligro un sistema Linux vulnerable de forma remota.

Moberly también ha lanzado dos exploits de pruebas de concepto (PoC) en GitHub, uno de los cuales requiere una conexión SSH, mientras que el otro es capaz de descargar un complemento malicioso al abusar de esta API.

Canonical ha lanzado esta semana la versión Snapd 2.37.1 para abordar la vulnerabilidad, y Ubuntu y otras distribuciones importantes de Linux ya han lanzado una versión fija de sus paquetes.

Se recomienda a los usuarios de Linux que actualicen sus instalaciones vulnerables lo antes posible.

Jesus_Caceres