De Hispasec – Una al Día: Ejecución remota de código en Exim (28/11/2017)

Saludos, nuevamente.

Ayer en el canal de los SysAdmins de Cuba en Telegram, estuvimos conversando un rato acerca de una vulnerabilidad en el MTA Exim. Estuvimos viendo algunos sitios Web técnicos que abordaban el tema y daban una solución temporal. Acá les pongo el reporte que hizo el sitio Hispasec – Una al Día:

Ejecución remota de código en Exim

martes, 28 de noviembre de 2017

Se ha corregido una grave vulnerabilidad en Exim que podría permitir a un atacante ejecutar código arbitrario en el sistema afectado.

Exim es un servidor de correo electrónico de código abierto muy popular en sistemas Unix. Fue desarrollado en 1995 por Philip Hazel en la Universidad de Cambridge. Actualmente Exim es el MTA por defecto de Debian y de otras distribuciones de GNU/Linux.

La vulnerabilidad, bautizada con CVE-2017-16943 fue anunciada en el bug tracker de Exim de forma pública, lo que no dejó a los desarrolladores mucho margen de reacción. A pesar de eso, a las pocas horas fue publicado un parche provisional que solucionaba la vulnerabilidad.

El fallo se debe a un uso de memoria después de liberarla en la función ‘receive_getc‘ de la librería ‘receive.c’. Un atacante remoto podría explotar esta vulnerabilidad mediante una secuencia de comandos BDAT y provocar una denegación de servicio o ejecutar código arbitrario en el servidor SMTP.

En el reporte se adjunta una prueba de concepto que provoca una violación de acceso que interrumpe la ejecución del programa:

Program received signal SIGSEGV, Segmentation fault.0x00000000deadbeef in ?? ()(gdb)

PoC de la vulnerabilidad CVE-2017-16943

Poco después se anunció otra vulnerabilidad bautizada con CVE-2017-16944 que afectaba a la función receive_msg’ de la misma librería ‘receive.c’. El fallo permitiría a un atacante remoto mediante comandos BDAT, causar un bucle infinito y agotar la memoria de pila. Provocando una denegación de servicio en el servidor SMTP.

Estas vulnerabilidades ya han sido corregidas en la versión de Exim 4.90, por lo que se recomienda actualizar cuanto antes.

Francisco Salido
fsalido@hispasec.com

 

 

Acerca de Hector Suarez Planas

Es Licenciado en Ciencia de la Computación (3 de julio de 2002). Ha sido Administrador de Red en varias organizaciones, Programador y Analista de Sistemas. Actualmente se desempeña como Administrador de Red del Telecentro Tele Turquino de Santiago de Cuba. Tiene experiencia con sistemas Windows y GNU/Linux, Infraestructura de Redes (Cisco, AlliedTelesis, Netgear y HP ProCurve, Vyatta/VyOS), Servidores tanto físicos como virtuales (plataformas VMWare, Proxmox VE y Xen), Sistemas de Seguridad Informática (Snort/Suricata IDS, appliances AlienVault OSSIM), programador (Delphi, C++ Builder, Perl [poco], Python [algo]), entre otras cosas. Actualmente estoy incursionando en todo lo que tiene relación con Cloud Computing (OpenStack) y Centros de Datos. :-)
Esta entrada fue publicada en Actualizaciones, Exim, Seguridad, Vulnerabilidades. Guarda el enlace permanente.

2 respuestas a De Hispasec – Una al Día: Ejecución remota de código en Exim (28/11/2017)

  1. Liuber dijo:

    Héctor, no he encontrado otra manera de contactarte así que pongo mis esperanzas en este comentario.
    Soy especialista comercial de datos y conectividad a internet de ETECSA, verás leí tu artículo sobre las VPN. Tengo una serie de dudas con respecto a la creación de una VPN que solicita un cliente. Me sería de mucha ayuda que si me pudieras mandar al correo algún teléfono tuyo para contactarte y plantearte la situación. Gracias de antemano y diculpa las molestias que te pudiera ocasionar…

    • Hector Suarez Planas dijo:

      Saludos, Liuber.

      Primero que todo, gracias por tu comentario.

      Disculpas por estar bajo tierra mucho tiempo, es que en mi trabajo las tareas florecen como las plantas en primavera, no cesan. No se preocupe, le escribiré a su correo.

      🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *