Inyección de comandos vía shell en Mozilla Thunderbird

thunderbird

Se ha diagnosticado un importante problema de seguridad en Mozilla Thunderbird, calificado como extremadamente crítico. Un atacante malintencionado podría comprometer seriamente el sistema afectado de un modo remoto, y hasta la publicación del parche, la mejor recomendación es no usar Thunderbird.

Mozilla Thunderbird es un cliente de correo de alta calidad, impulsado por Mozilla Foundation, y disponible para múltiples plataformas e idiomas. Thunderbird es a la gestión de correo lo que Firefox es a la navegación, es decir, una interesante alternativa sustitutiva de clientes tradicionales como Microsoft Outlook. Es un proyecto libre, gratuíto para su empleo y de código abierto.

El problema radica en que el script de shell empleado para lanzar Mozilla Thunderbird, podría facilitar la ejecución de comandos arbitarios, ya que es factible construir una URL maliciosa que contenga comandos adicionales externos, contenidos entre barras invertidas, que son parseados y ejecutados sin más comprobaciones.

En sistemas donde el gestor de correo por defecto sea Thunderbird, un atacante podría suministrar a la víctima enlaces maliciosos, que al ser pulsados, invocarían al cliente de correo. Si a esa URL se le añaden comandos arbitrarios, éstos sería irremediablemente ejecutados, ya que se parsean directamente y permiten ganar acceso sin restricciones de seguridad, tal y como se ha explicado en el párrafo anterior. El mejor ejemplo es el enlace tipo mailto:, empleado para lanzar el gestor de correo y abrir la redacción de un mensaje. Construir un ataque sería tan sencillo como añadir comandos a nuestro antojo a las URLs del tipo mailto: y hacer que nuestra víctima pulse el enlace correspondiente.

El problema deriva del recientemente publicado fallo en Firefox 1.x. Recordad que, tal y como se explica en Bugzilla, las URLs maliciosas lanzadas desde la línea de comandos, son parseadas por la shell de un modo directo por las versiones afectadas. Veamos estos dos ejemplos, donde el comando find es lanzado al invocar vía consola, para Mozilla y Firefox respectivamente, URLs dotadas de comandos externos, que aparecen tras las barras invertidas. Notad que, para las versiones Mozilla y Firefox vulnerables, se han publicado actualizaciones (por ejemplo, Firefox 1.0.7) que corrigen el problema:

mozilla http://local\`find\`host (ejecución del comando find)
firefox http://local\`find\`host (ejecución del comando find)

Se ha confirmado que la rama 1.x de Mozilla Thunderbird está afectada, y en principio el fallo sólo es explotable en entornos UNIX y/o derivados. A estas horas, Bugzilla arroja un estado VERIFIED FIXED, con lo que es posible que se liberen en breve versiones que corrijan el problema.

Más información: Bugzilla