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