TLP: White

Nivel de riesgo – CVSS v3.0: 9.8 [Critico]

Acción requerida: Aplicar las actualizaciones de seguridad que corrigen la vulnerabilidad crítica que afecta distintas versiones de Exim, publicadas el 10 de febrero de 2019.
Vector de ataque: Local, red y acceso remoto
Impacto:El aprovechamiento exitoso de esta vulnerabilidad podría dar a un usuario malicioso el control total del sistema afectado a través de la ejecución de comandos con permisos de administrador.
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 1c8f184c3cf902bafc9df23b13a5d51cf801026bc3bde9d6b05cf047523ac6ed (sha256)
  • Archivo ejecutable Linux (ELF):
    • se – b4bae03ab71439208b79edfc5eaec42babacee982231dce001b70ec42835063a (sha256)
  • Dominio
  • Llave de autenticación RSA para SSH
    • “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1Sdr0tIIL8yPhKTLzVMnRKj1zzGqtR4tKpM2bfBEx+AHyvBL8jDZDJ6fuVwEB+aZ8bl/pA5qhFWRRWhONLnLN9RWFx/880msXITwOXjCT3Qa6VpAFPPMazJpbppIg+LTkbOEjdDHvdZ8RhEt7tTXc2DoTDcs73EeepZbJmDFP8TCY7hwgLi0XcG8YHkDFoKFUhvSHPkzAsQd9hyOWaI1taLX2VZHAk8rOaYqaRG3URWH3hZvk8Hcgggm2q/IQQa9VLlX4cSM4SifM/ZNbLYAJhH1x3ZgscliZVmjB55wZWRL5oOZztOKJT2oczUuhDHM1qoUJjnxopqtZ5DrA76WH user@localhost”
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