Global Preloader
Vulnerabilidad
(28/Nov/2017) El correo de Exim es vulnerable a errores RCE y Denegación de Servicio

El correo de Exim es vulnerable a errores RCE y Denegación de Servicio

Un investigador de seguridad ha descubierto y divulgado públicamente dos vulnerabilidades críticas en el popular agente de transferencia de mensajes de correo de Internet Exim, una de las cuales podría permitir a un atacante remoto ejecutar código malicioso en el servidor de destino.

Exim es un agente de transferencia de correo (MTA) de código abierto desarrollado para sistemas operativos tipo Unix como Linux, Mac OSX o Solaris, que se encarga de enrutar, entregar y recibir mensajes de correo electrónico.
La primera vulnerabilidad, identificada como CVE-2017-16943, es un error de "uso después de la liberación" que podría aprovecharse para ejecutar de forma remota código arbitrario en el servidor SMTP creando una secuencia de comandos BDAT.

"Para activar este error, el comando BDAT es necesario para realizar una asignación al generar un error", dijo el investigador. "A través de nuestra investigación, confirmamos que esta vulnerabilidad puede explotarse para la ejecución remota de código si el binario no se compila con PIE".

También ha publicado un código de explotación de prueba de concepto (PoC) escrito en python que podría permitir a cualquiera obtener la ejecución de código en servidores Exim vulnerables.

La segunda vulnerabilidad, identificada como CVE-2017-16944, es una falla de Denegación de Servicio (DoS) que podría permitir a un atacante remoto 'colgar' servidores Exim incluso si la conexión se cierra forzándolo a ejecutarse en un bucle infinito sin fallar.

La falla existe debido a una verificación incorrecta de un carácter '.' para indicar el final de un correo electrónico al analizar el encabezado de datos BDAT.

"La función receive_msg en receive.c en el daemon SMTP en Exim 4.88 y 4.89 permite a los atacantes remotos provocar una denegación de servicio (ciclo infinito y agotamiento de la pila) a través de vectores que involucran comandos BDAT y una verificación incorrecta de un carácter '.' que indica el final del contenido, relacionado con la función bdat_getc.

El investigador también ha incluido un exploit de prueba de concepto (PoC) para esta vulnerabilidad también, haciendo que el servidor Exim se quede sin pila y se 'cuelgue'.

Ambas vulnerabilidades residen en Exim versión 4.88 y 4.89, y se recomienda a los administradores del sistema actualizar su aplicación de agente de transferencia de correo Exim versión 4.90 lanzada en GitHub.