Un fallo de seguridad crítico en Exim que podría permitir la ejecución
de código remoto con privilegios de root en servidores que aceptan conexiones
TLS.
Exim (EXperimental Internet Mailer) es un agente de transporte de correo
electrónico o MTA utilizado por más de la mitad de los servidores de email en
Internet. Es software libre que se distribuye bajo la licencia GNU GPL, y se
distribuye como el MTA por defecto en muchas distribuciones GNU/Linux, como por
ejemplo Debian.
A finales del pasado mes de julio el investigador Zerons descubrió un
fallo de seguridad en Exim que ha recibido el identificador CVE-2019-15846 y se
ha hecho público el 6 de septiembre. Esta vulnerabilidad permitiría a un
atacante no autenticado ejecutar programas con privilegios de root en aquellos
servidores que aceptan conexiones TLS. Para explotar la vulnerabilidad en las
configuraciones por defecto se estaría utilizando una solicitud SNI
especialmente manipulada, mientras que en otras configuraciones se podría
realizar mediante un certificado de cliente falsificado.
SNI es un componente de protocolo TLS diseñado para permitir que los
servidores presenten diferentes certificados TLS para validar y asegurar la
conexión a sitios web detrás de la misma dirección IP. El error consistiría en
un desbordamiento de búfer provocado por una solicitud SNI que termina en una
secuencia de barra invertida durante el proceso de negociación de la conexión
segura TLS (handshake).
A pesar de que el archivo de configuración predeterminado proporcionado
por el equipo de desarrollo de Exim no tiene habilitado TLS, muchas
distribuciones GNU/Linux se distribuyen con la configuración modificada para
activar dicha opción.
Esto podría implicar que el universo de servidores Exim vulnerables sea
bastante extenso. A saber, según una encuesta realizada por E-Soft Inc. y
publicada a principios de septiembre, se ha estimado que el número total de
servidores de correo electrónico en Internet que ejecutan Exim es de más de
500.000, correspondiendo a más de 57% de todos los servidores de correo electrónico
(MX) en línea. Sin embargo, una búsqueda de instancias de Exim en Shodan
muestra alrededor de 5,25 millones de resultados, con mas de 3,5 millones
instancias en ejecución usando Exim 4.92. Cabe destacar que se encuentran
afectadas las versiones de Exim comprendidas entre la 4.80 y la 4.92.1, ambas
incluidas.
Además, el equipo de investigación de Qualys, que ha analizado
lavulnerabilidad, afirma tener una prueba de concepto (PoC) funcional y que
podrían existir otros métodos de explotación adicionales.
Aunque se ha propuesto el deshabilitar TLS como una forma de mitigación
para servidores no actualizados, los desarrolladores del software no la
recomiendan. Otra forma de mitigación es agregar las siguientes reglas como
parte de la ACL de correo que verifican la existencia de un peer DN o SNI que
finaliza con una barra invertida y, en caso de hallarlo, la conexión se
rechazaría para bloquear el vector de ataque actualmente conocido:
deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Sin embargo, las anteriores opciones podrían afectar a usos legítimos
por lo que la única opción que realmente se debería contemplar, según palabras
de Heiko Schlittermann −uno de los desarrolladores−, es actualizar a la versión
4.92.2 de Exim, la cual solventa el fallo de seguridad.
Más información:
- Critical Exim TLS Flaw Lets Attackers Remotely Execute Commands as
Root https://www.bleepingcomputer.com/news/security/critical-exim-tls-flaw-lets-attackers-remotely-execute-commands-as-root/
- CVE-2019-15846: Exim – local or remote attacker can execute
programs https://www.openwall.com/lists/oss-security/2019/09/04/1
- Exim servers https://www.shodan.io/report/vRKzLpdS
Fuente: Hispasec