Últimos Cambios |
||
Blog personal: El hilo del laberinto |
Última Actualización: 21 de Enero de 2.000 - Viernes
Un grave error de diseño en el modelo de seguridad SCO UnixWare 7 permite que cualquier usuario del sistema ejecute código arbitrario como administrador o "root".
Bajo UnixWare 7, el administrador de la máquina puede configurar el sistema de tal forma que determinados ejecutables sean invocados con un UID/GID (identificador de usuario y grupo) diferentes del usuario que los ejecuta, sin tener que recurrir a los flags SUID/SGID. Lamentablemente un proceso "mutado" sigue siendo completamente accesible por el usuario que lo invocó. El usuario puede, por ejemplo, enviarle cualquier señal, detener su ejecución o, incluso, modificar el valor de sus registros, incluyendo el contador de programa.
Un escenario posible, entonces, es ejecutar un proceso con estas características, con una variable de entorno conteniendo código SHELL. Una vez que el proceso está en ejecución, el usuario que lo ha lanzado puede detenerlo y modificarlo con cualquier depurador. Una vez detenido, el usuario sólo debe modificar el contador de programa para que apunte al código SHELL que se ha introducido en la variable de entorno y ¡voila! tenemos un shell con privilegios de "root" o administrador.
El código shell puede aparecer en cualquier parte, no sólo en una variable de entorno. Puede, por ejemplo, ser leído desde un fichero. El problema no son las variables de entorno, sino que los procesos "mutados" no deben ser accesibles al usuario que los ejecuta, ya que sus privilegios son diferentes.
Al parecer, SCO ha publicado parches para solucionar ésta y otras muchas vulnerabilidades de UnixWare 7.
Más información:
SCO Unixware Privileged Program Debugging Vulnerability
Más información sobre los OpenBadges
Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS