Nivel de riesgo – CVSS v3.0: 9.8 [Critico]
Descripción
El pasado 3 de junio los responsables del desarrollo y mantenimiento del agente de transferencia de mensajes (MTA, por sus siglas en inglés Message Transfer Agent) Exim informaron sobre la existencia de una vulnerabilidad crítica presente desde la versión 4.87 hasta la 4.91. Esta vulnerabilidad con identificador CVE-2019-10149, puede ser aprovechada por un atacante para ejecutar comandos con privilegios de administrador de manera local y, bajo ciertas condiciones, de manera remota.
El código vulnerable se encuentra en la función deliver_message() en la que se realiza el procesamiento de la información de los destinatarios de los correos electrónicos. Como parte de este proceso se utiliza la función denominada expand_string() que reconoce una instrucción que permite ejecutar comandos en el sistema, valor que no es sanitizado adecuadamente. Así, esta vulnerabilidad puede aprovecharse mediante el envío de un correo electrónico cuyo destinatario sea una dirección de correo especialmente diseñada para realizar la ejecución de comandos con privilegios de administrador.
La vulnerabilidad CVE-2019-10149 puede aprovecharse de manera local con las configuraciones por defecto del servidor de correo Exim, por lo que un atacante con acceso al sistema podría ejecutar comandos con permisos de administrador de manera inmediata. Para lograr esto basta con realizar el envió de un correo electrónico cuyo destinatario sea de la forma “${run{ }}@localhost”, donde:
- es el comando que se desea ejecutar.
- son los argumentos del comando definido.
Para realizar el aprovechamiento remoto de este fallo de seguridad en un servidor con las configuraciones predeterminadas, es necesario mantener una conexión con el servidor vulnerable por siete días, según lo descrito por los investigadores que reportaron este fallo. Sin embargo, no descartan la existencia de otros escenarios que permitan su aprovechamiento, debido a la complejidad del servidor Exim. No obstante, hasta el momento se han identificado escenario en los que se podría realizar el compromiso remoto de los sistemas bajo ciertas configuraciones no predeterminadas, mismas que se exponen enseguida:
- Si se prescinde del uso de la lista de control de acceso (ACL) “verify= recipient” en Exim, lo que requiere una configuración manual, y que es una práctica realizada por los administradores para prevenir la enumeración de los nombres de cuentas válidas de correo a través de RCPT TO.
- Si Exim está configurado para reconocer etiquetas en la parte local de la dirección de correo del destinatario (mediante “local_part_suffix = +* : -*”).
- Si Exim fue configurado para retransmitir correos a un dominio remoto, como un MX secundario (Mail eXchange).
MNEMO-CERT ha identificado una gran cantidad de equipos que tienen el servicio de correo electrónico Exim expuesto a Internet, lo que aumenta su nivel de riesgo ante el aprovechamiento de la vulnerabilidad descrita en este documento.
Actividad maliciosa identificada
Recientemente se ha observado actividad maliciosa en la que se está aprovechando la vulnerabilidad CVE-2019-10149, mediante la cual los atacantes ejecutan comandos en los servidores vulnerables de manera remota, para realizar actividades que van desde el reconocimiento de los sistemas hasta la implementación de mecanismos para conservar el acceso a los mismos.
Indicadores de compromiso IoCs
A continuación se listan los IoCs identificados hasta el momento, relacionados con el aprovechamiento de la vulnerabilidad CVE-2019-10149:
- 173.212.214.137
- 89.248.171.57
- Script de reconocimiento sistemas tipo Linux:
- s 1c8f184c3cf902bafc9df23b13a5d5
1cf801026bc3bde9d6b05cf047523a c6ed (sha256)
- s 1c8f184c3cf902bafc9df23b13a5d5
- Archivo ejecutable Linux (ELF):
- se – b4bae03ab71439208b79edfc5eaec4
2babacee982231dce001b70ec42835 063a (sha256)
- se – b4bae03ab71439208b79edfc5eaec4
- Dominio
- Llave de autenticación RSA para SSH
- “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ
C1Sdr0tIIL8yPhKTLzVMnRKj1zzGqt R4tKpM2bfBEx+ AHyvBL8jDZDJ6fuVwEB+aZ8bl/ pA5qhFWRRWhONLnLN9RWFx/ 880msXITwOXjCT3Qa6VpAFPPMazJpb ppIg+ LTkbOEjdDHvdZ8RhEt7tTXc2DoTDcs 73EeepZbJmDFP8TCY7hwgLi0XcG8YH kDFoKFUhvSHPkzAsQd9hyOWaI1taLX 2VZHAk8rOaYqaRG3URWH3hZvk8Hcgg gm2q/IQQa9VLlX4cSM4SifM/ ZNbLYAJhH1x3ZgscliZVmjB55wZWRL 5oOZztOKJT2oczUuhDHM1qoUJjnxop qtZ5DrA76WH user@localhost”
- “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ
Prueba de Concepto
MNEMO-CERT ha desarrollado una PoC que permite ejecutar comandos con permisos elevados mediante el aprovechamiento de la vulnerabilidad CVE-2019-10149. Para realizar el aprovechamiento local de esta vulnerabilidad es necesario definir el comando que se desea ejecutar. Por otro lado, para el caso remoto solamente se consideró el escenario en el que Exim no realiza el uso de la ACL “verify= recipient”, para lo que además del comando se debe indicar la dirección IP y puerto del servicio.
Está PoC se encuentra disponible en la siguiente URL:
Nivel de riesgo
- CVSS v3.0: 9.8 [Critico]
Sistemas/tecnologías afectadas:
- MTA Exim versiones:
- 4.87
- 4.88
- 4.89
- 4.90
- 4.91
Medidas de Erradicación
Aplicar las actualizaciones de todas las instancias de Exim que se encuentran en la infraestructura tecnológica, priorizando aquellas que se están disponibles a través de Internet. La versión estable de Exim en la que se ha subsanado la vulnerabilidad CVE-2019-10149 es la 4.92.
Referencias
- https://nvd.nist.gov/vuln/
detail/CVE-2019-10149https:// nvd.nist.gov/vuln/detail/CVE- 2019-0708 - https://www.exim.org/static/
doc/security/CVE-2019-10149. txt - https://www.zdnet.com/article/
new-rce-vulnerability-impacts- nearly-half-of-the-internets- email-servers/ - https://es-la.tenable.com/
blog/cve-2019-10149-critical- remote-command-execution- vulnerability-discovered-in- exim?tns_redirect=true - https://www.cisecurity.org/
advisory/a-vulnerability-in- exim-could-allow-for-remote- command-execution_2019-061/ - https://www.cybereason.com/
blog/new-pervasive-worm- exploiting-linux-exim-server- vulnerability - https://cve.mitre.org/cgi-bin/
cvename.cgi?name=CVE-2019- 10149 - https://www.qualys.com/2019/
06/05/cve-2019-10149/return- wizard-rce-exim.txt - https://twitter.com/
freddieleeman/status/ 1137729455181500421 - https://www.exploit-db.com/
exploits/46974 - https://github.com/MNEMO-CERT/
PoC–CVE-2019-10149_Exim - https://seclists.org/
fulldisclosure/2019/Jun/16