El programa «tmpwatch» permite que un usuario local ejecute código arbitrario en el servidor, con los privilegios del usuario que lanza «tmpwatch», típicamente «root».
«tmpwatch» es un programa que se encarga de eliminar ficheros temporales que no han sido modificados o a los que no se haya accedido en un determinado espacio de tiempo. Suele ser un comando utilizado en directorios compartidos por varios usuarios (típicamente, «/tmp») y liberar espacio en disco. Se trata, adicionalmente, de una herramienta ejecutada típicamente por «root».
La versiones de «tmpwatch» anteriores a la 2.6.2 invocan el comando «fuser» para identificar ficheros abiertos por otros procesos, pero dicha invocación, a través de la función «system()», se realiza de forma insegura: un usuario puede crear un fichero cuyo nombre contenga metacaracteres shell y forzar la ejecución de comandos arbitrarios si se lanza «tmpwatch» con la opción «-s» o «-fuser».
La vulnerabilidad afecta a las versiones 6.2 y 7.0 de Red Hat Linux, y 6.0, 6.1, 7.0 y 7.1 de Linux-Mandrake.
Adicionalmente, las versiones de «tmpwatch» en Red Hat Linux 6.1, 6.2 y 7.0, y 6.0, 6.1, 7.0 y 7.1 de Linux-mandrake, procesan los directorios haciendo un «fork()» en cada uno de ellos, lo que puede producir un ataque de denegaci¢n de servicio (por desbordamiento de la tabla de procesos) si un usuario crea una jerarqu¡a de directorios muy profunda.
La recomendaci¢n es actualizar a la versi¢n 2.6.2 de «tmpwatch».
Opina sobre esta noticia:
http://www.hispasec.com/unaaldiacom.asp?id=759
M s informaci¢n:
Insecure call of external programs in Red Hat Linux tmpwatch
http://xforce.iss.net/alerts/advise64.php
tmpwatch has a local denial of service and root exploit
http://www.redhat.com/support/errata/RHSA-2000-080-01.html
Linux-Mandrake Update and Security Advisories
http://www.linux-mandrake.com/en/security/
Jesos Cea Avi¢n
jcea@hispasec.com
http://www.hispasec.com