Últimos Cambios |
||
Blog personal: El hilo del laberinto |
Última Actualización: 30 de Octubre de 2.000 - Lunes
La utilidad "traceroute", utilizada de forma constante por cualquier administrador de redes, contiene una vulnerabilidad que permite que un usuario local obtenga privilegios de administrador o "root". La vulnerabilidad afecta a las versiones anteriores a la "traceroute-1.4a5-16", distribución LBL.
Traceroute es un programa que permite analizar las rutas IP que siguen los datagramas entre la máquina que ejecuta el "traceroute" y un servidor destino arbitrario. La utilidad nos va imprimiendo en pantalla los nodos que necesita atravesar el datagrama para alcanzar su destino. Se trata, por tanto, de una herramienta de gran importancia a la hora de diagnosticar problemas de red.
Debido a que existen varias implementaciones distintas de "traceroute", la vulnerabilidad no está presente en todos los sistemas Unix. El problema se complica porque diversos desarrolladores han solucionado el problema en distintas posiciones del "árbol" de código, por lo que deducir qué versiones son vulnerables y cuáles no es complicado.
Muchas de las distribuciones Linux son vulnerables, aunque SUSE ha informado de que en este caso concreto utilizan un código distinto.
Digital Unix, AIX, FreeBSD, OpenBSD, HP-UX no parecen ser vulnerables. El caso de Solaris es especial. Aunque se dice que las versiones anteriores a Solaris 7 son vulnerables (se nombra específicamente a la versión 2.5.1), personalmente no he conseguido reproducir el problema, tal vez porque me preocupo de mantener todos mis sistemas actualizados.
El problema se basa en intentar hacer un "free()" en un bloque de memoria cuyos descriptores "malloc" han sido manipulados convenientemente por un atacante local. De esta forma se consigue que un "free" modifique la memoria de tal forma que se posibilite la ejecución de código arbitrario. Dado que traceroute suele ser una aplicación "setuid", el código ejecutado tendrá privilegios de administrador o "root".
La solución más evidente, además de actualizarse a una versión no vulnerable, es eliminar el flag "setuid" en traceroute, limitando así su ejecución a "root".
Más información:
Más información sobre los OpenBadges
Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS