Una cuenta de usuario con pocos privilegios en la mayoría de los sistemas operativos Linux con un valor UID superior a 2147483647 puede ejecutar cualquier comando de systemctl sin autorización, gracias a una vulnerabilidad recientemente descubierta.

La vulnerabilidad informada reside realmente en PolicyKit (también conocido como polkit), un conjunto de herramientas de nivel de aplicación para sistemas operativos similares a Unix que define políticas, maneja privilegios de todo el sistema y proporciona una manera para que los procesos sin privilegios se comuniquen con los privilegiados, como como «sudo», que no otorga permiso de root a un proceso completo.

El problema, seguido como CVE-2018-19788 , afecta a PolicyKit versión 0.115 , que viene preinstalado en las distribuciones de Linux más populares, incluida Red Hat ,Debian ,  Ubuntu y CentOS.

La vulnerabilidad existe debido a la validación incorrecta de PolicyKit de las solicitudes de permisos para cualquier usuario con privilegios bajos con UID mayor que INT_MAX.

Donde, INT_MAX es una constante en la programación de computadoras que define qué valor máximo puede almacenar una variable entera, lo que equivale a 2147483647 (en hexadecimal 0x7FFFFFFF).

Esto significa que, si crea una cuenta de usuario en los sistemas Linux afectados con un UID mayor que el valor INT_MAX, el componente PolicyKit le permitirá ejecutar cualquier comando systemctl con éxito.

El investigador de seguridad Rich Mirch, manejador de Twitter » 0xm1rch » , también ha lanzado un exploit de prueba de concepto (PoC) para demostrar con éxito la vulnerabilidad que requiere un usuario con el UID 4000000000.

Red Hat ha recomendado a los administradores del sistema que no permitan UID negativos o UID mayores a 2147483646 para mitigar el problema hasta que se lance el parche.

Fuente: Thehakernews.com

Compartir