Cabecera-v2-web.jpg

Acceso root en Polkit para usuarios con uid mayor a INT_MAX


Screenshot.png

El fallo, que aún no está solucionado, es reproducible ejecutando cualquier aplicación que utilice PolicyKit

PolicyKit, comúnmente llamado Polkit, es un componente para los sistemas Unix que permite a procesos no privilegiados ejecutar funciones que requieren permisos de superusuario, sin que estos tengan que ejecutarse como root. A diferencia de sudo, no requiere que todo el proceso sea ejecutado con privilegios del sistema, dando un mayor control sobre los permisos.

Este componente, empleado en la mayoría de distribuciones GNU/Linux y utilizado por múltiples programas, no controla correctamente los permisos cuando el usuario tiene un número de identificación (UID) superior al de INT_MAX (2147483647), pudiendo utilizar Polkit sin ninguna restricción y sin que se pida ninguna contraseña.


Screenshot_2018.png

Ejemplo de explotación con un usuario con uid 4000000000. El usuario es capaz de parar un servicio, sin que este tenga permisos para ello.

Un ejemplo de programa que utiliza Polkit es Systemctl: cuando no son necesarios permisos, por ejemplo para ejecutar ‘systemctl status nginx’, se ejecuta el comando sin restricciones. No obstante, para ejecutar ‘systemctl stop nginx’ (parar un servicio), aparece una ventana de confirmación solicitando la contraseña del usuario, y sólo si éste estuviese autorizado podrá realizar la acción. Con esta vulnerabilidad, el comando se ejecuta sin necesidad de estar autorizado y sin que aparezca la ventana de confirmación.

La vulnerabilidad, con identificador CVE-2018-19788, todavía no se encuentra solucionada, aunque su explotación es complicada salvo que exista ya un usuario con un uid superior a 2147483647, algo de por sí difícil, y que probablemente sea la razón por la que ha pasado el fallo tanto tiempo desapercibido. Para probar la vulnerabilidad, basta con crear un nuevo usuario del sistema y modificar el uid, pudiendo ejecutar cualquiera de los comandos anteriores.


Fuente: hispasec.com


Logo-de-la-SENATICS-en-alfacolor.png

CERT-PY | Centro de Respuestas a Incidentes Cibernéticos
Secretaría Nacional de Tecnologías de la Información y Comunicación
Avda. Gral. Santos c/ Concordia | Telefono: (595 21) 217-9000
República del Paraguay

80x15.png

Versión del Template 1.11