Pueden ejecutar sin autorización cualquier comando systemctl
Una cuenta de usuario con mínimos privilegios en la mayoría de los sistemas operativos Linux con un valor UID superior a 2147483647 puede ejecutar sin autorización cualquier comando systemctl, 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 "sudo", que no otorga permiso de root a un proceso completo.
El problema, seguido como CVE-2018-19788, afecta a la versión 0.115 de PolicyKit, que viene preinstalada en las distribuciones de Linux más populares, incluyendo 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 se crea una cuenta de usuario en los sistemas Linux afectados con un UID mayor que el valor INT_MAX, el componente PolicyKit permitirá ejecutar con éxito cualquier comando systemctl.
El investigador de seguridad Rich Mirch, nombre en 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 para mitigar el problema no permitan UID negativos o UID mayores a 2147483646 hasta que se lance el parche.