Últimos Cambios |
||
Blog personal: El hilo del laberinto |
Última Actualización: 23 de Marzo de 2.000 - Jueves
El "enlazador" o "linker" que viene con el sistema operativo AIX 4.x (la versión Unix de IBM) sigue directivas que se pretenden únicamente vinculantes cuando se está compilando un programa, no cuando se va a ejecutar.
Las mayoría de los sistemas modernos soportan lo que se llama "carga dinámica", por medio de la cual un programa puede, por ejemplo, cargar una librería externa cuando es ejecutado. Ello permite, entre otras muchas funcionalidades:
Cuando se enlaza un programa, existen una serie de librerías que se enlazan de forma "estática" (permanentemente), y otras librerías que se enlazan de forma "dinámica" (cuando el proceso se ejecuta). Debido a los riesgos de seguridad, los directorios donde se buscan las librerías dinámicas son fijos, permitiéndose cambios merced a parámetros adicionales en la línea de comandos del "enlazador".
Lamentablemente el "linker" de AIX 4.x se desvía del estándar Unix (aunque lo documenta en el manual) de forma tal que los "paths" o directorios en los que se le indica que busque las librerías estáticas, en tiempo de enlazado, también serán utilizados para buscar librerías dinámicas en tiempo de ejecución.
Ello permite, por ejemplo, que si cuando se compiló un programa se le indicó el directorio actual como uno de los lugares en donde buscar las librerías estáticas, el ejecutable resultante también empleará el directorio local para cargar sus librerías dinámicas. Ni qué decir tiene que si ese ejecutable es invocable por un usuario arbitrario, éste puede crear una librería dinámica que sustituya a una librería del sistema. Si el proceso en cuestión se ejecuta con privilegios elevados (los típicos procesos SETUID), el usuario puede ejecutar código arbitrario con esos privilegios.
Dado que se trata de un comportamiento documentado en el manual, es dudoso que IBM lo considere un error a solucionar. Una posibilidad es reenlazar los ejecutable indicando la opción "-blibpath" en la línea de comando.
Más Información:
AIX ld -L Flag Potential Vulnerability:
http://www.securityfocus.com/vdb/bottom.html?vid=1059
http://www.securityfocus.com/vdb/bottom.html?section=solution&vid=1059
Más información sobre los OpenBadges
Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS