Hace algunos meses, el investigador Meh Changde la empresa de seguridad taiwanesa DevCore descubrió una vulnerabilidad grave en Exim (CVE-2017-16943), y en las últimas horas descubrió un nuevo desbordamiento de búfer que permite la ejecución remota de código (RCE) en este MTA. A esta nueva vulnerabilidad se le ha asignado el identificador CVE-2018-6789.
Debido a la naturaleza de la vulnerabilidad, particularmente en relación con la forma en que se realizan las transacciones SMTP, es posible que los atacantes exploten de forma remota sin autenticación. Con un mensaje de correo electrónico específicamente diseñado, un atacante puede aprovechar un desbordamiento de búfer, debido al mal manejo de la autenticación en Base64.
Según Meh Chang, Exim asigna un cierto búfer bytes para almacenar datos en Base64 descodificados. Sin embargo, cuando la entrada no es una cadena Base64 válida, Exim consume más bytes durante la decodificación, lo que provoca un desbordamiento del buffer. Esto puede ser aprovechado por los atacantes para ejecutar código arbitrario o como parte de un ataque de denegación de servicio.
La vulnerabilidad, presente desde la creación de Exim en 1995, está en todas las versiones anteriores a la 4.90.1, que se lanzó para corregir este problema.
El número total de servidores de correo electrónico de Internet que ejecutan Exim se ha estimado en más de 560.000, lo que corresponde al 56% de todos los servidores de correo electrónico (MX) en línea. Una búsqueda de instancias de Exim en Shodan muestra poco menos de 4,5 millones de instancias en ejecución. A modo de comparación, Postfix es el segundo más popular en 330.000 instancias, con otras soluciones que no se acercan a ese número. Exim también se utiliza como un componente del administrador de la lista de correo de GNU Mailman, y como el controlador de correo predeterminado para las configuraciones de hosting compartido impulsadas por cPanel.
Si bien Chang solo proporcionó el informe público de la vulnerabilidad el 6 de marzo, contactó a Exim por primera vez el 5 de febrero, y los proveedores de paquetes para las distribuciones de Linux obtuvieron acceso anticipado al código para implementar parches el 8 de febrero. Luego que Debian publicara “por adelantado” el parche, las diversas actualizaciones se han distribuido durante aproximadamente un mes y por lo tanto el parcheo regular de los servidores ya deberia haber abordado la vulnerabilidad. Cabe destacar que los parches para esta vulnerabilidad en Debian están disponibles en Stretch como 4.89-2 + deb9u3, y en Jessie como 4.84.2-2 + deb8u5.
Actualmente, no hay código de prueba de explotación disponible, aunque el desarrollador de Exim Heiko Schlittermann indica que los desarrolladores creen que la explotación del mundo real es difícil.
El mismo investigador descubrió otras dos vulnerabilidades en Exim el año pasado, que también pueden ser explotadas por atacantes sin autenticación. Las vulnerabilidades incluyen CVE-2017-16943, una vulnerabilidad de uso después de liberación que permite la ejecución remota de código y una vulnerabilidad de denegación de servicio en CVE-2017-16944. Estas vulnerabilidades ya habían sido corrigidas en Exim 4.90.
Confirmaciones y actualizaciones:
- URL:http://www.openwall.com/lists/oss-security/2018/02/07/2
- URL:https://lists.debian.org/debian-lts-announce/2018/02/msg00009.html
- https://security-tracker.debian.org/tracker/CVE-2017-16943
- MISC:https://devco.re/blog/2018/03/06/exim-off-by-one-RCE-exploiting-CVE-2018-6789-en/
- CONFIRM:http://openwall.com/lists/oss-security/2018/02/10/2
- CONFIRM:https://exim.org/static/doc/security/CVE-2018-6789.txt
- CONFIRM:https://git.exim.org/exim.git/commit/cf3cd306062a08969c41a1cdd32c6855f1abecf1
- URL:https://www.debian.org/security/2018/dsa-4110
- URL:http://www.securityfocus.com/bid/103049
- https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-16943.html