Se ha descubierto un compromiso de seguridad en algunas instalaciones de
la herramienta de backup «AMANDA» («Advanced Maryland Automatic Network
Disk Archiver»), que permite la ejecución de código arbitrario como
«root».
Amanda es un sistema de backup para entorno Unix, que permite realizar
copias de seguridad en red, utilizando un único servidor de backup
centralizado para salvaguardar información contenida en diferentes
máquinas de una red local. Aunque Amanda funciona sólo en sistemas UNIX,
permite también hacer copias de seguridad de máquinas Windows 95/98/NT
mediante el sistema SAMBA.
Existen, básicamente, tres vulnerabilidades en algunas instalaciones de
Amanda:
1. «runtar» se instala como SET-UID «root».
Ello quiere decir que la utilidad «runtar» se ejecuta con privilegios
de administrador. Lamentablemente el programa no comprueba que los
ficheros que seleccionamos para leer o escribir sean accesibles para
el usuario que ejecuta «runtar» por lo que es trivial copiar y
sobreescribir cualquier fichero del sistema.
2. «tar» tiene un desbordamiento de búffer
Aunque la vulnerabilidad anterior lo hace innecesario, «tar»
tiene un desbordamiento de búffer que permite la ejecución de código
arbitrario.
Habitualmente esto no sería un problema, porque «tar» se ejecuta
con los privilegios del propio usuario, así que no puede hacer
ningún daño que no pueda cometer directamente.
Pero como «tar» es invocado también desde «runtar», y «runtar»
se ejecuta como «root» o administrador, cualquier usuario local puede
ejecutar código arbitrario como «root».
3. «amandad» sigue enlaces simbólicos
«amandad» es el demonio que se ejecuta en las máquinas remotas (de
las que se quiere hacer copia de seguridad). Este programa crea el
fichero «/tmp/amandad.debug» sin comprobar si se trata de un enlace
simbólico. Si un usuario local malicioso crea un enlace simbólico
en «/tmp/amandad.debug», puede sobreescribir cualquier fichero del
sistema con información de depuración del demonio «amandad».
Ello es posible porque, aunque «amandad» no es SET-UID ni SET-GID,
suele ser ejecutado por «root».
En la lista BUGTRAQ se han discutido una serie de posibilidades:
* «runtar» debería ser ejecutable sólo por «root» y por un grupo
cerrado de usuarios (típicamente el grupo «sys»). No debe ser
ejecutable por otros usuarios del sistema.
Con esto eliminamos el primer y segundo problema.
Por lo que parece, ésta es la instalación por defecto si se instala el
programa compilando los propios fuentes. No obstante algunas
distribuciones RPM, *BSD, etc. dejan a «runtar» como ejecutable
por cualquier usuario del sistema.
La instalación de Amanda desde los fuentes parece ser segura, por
tanto. Al menos en lo que respecta a los dos primeros puntos.
* Las últimas versiones parecen mucho más seguras en lo que respecta a
la tercera vulnerabilidad, ya que todos los ficheros de depuración
son creados dentro de un directorio configurable y seguro.
Aunque se siguen enlaces simbólicos, Amanda se preocupa de no
modificar ningún fichero que ya exista, aunque puede ser utilizado
para crear ficheros nuevos, vajo ciertas circunstancias.
Aunque parece que la mayoría de los problemas (al menos de los graves)
son debidos a un sistema de instalación de paquetes deficiente, no a
Amanda, se recomienda que los administradores utilicen la versión más
actualizada posible de Amanda que, en el momento de escribir este
documento, es la «2.4.1p1». Amanda debe ser instalado desde los propios
fuentes, no utilizando paquetes precompilados. Amanda disfrutó de una
auditoría de seguridad intensiva antes de publicar la versión «2.4.0»;
no se recomienda el uso de versiones previas.
Más Información:
Amanda: The Advanced Maryland Automatic Network Disk Archiver
Multiple Vendor Amanda ‘runtar’ permissions Vulnerabilities
Multiple Vendor Amanda ‘amandad’ Symlink Vulnerability
jcea@hispasec.com
Deja una respuesta