Exim parcheado: parchear nuevamente. Nueva ejecución remota de comandos en Exim 4.92 en una sola solicitud

Exim parcheado: parchear nuevamente. Nueva ejecución remota de comandos en Exim 4.92 en una sola solicitud

Más recientemente, a principios del verano, hubo pedidos generalizados para que Exim se actualizara a la versión 4.92 debido a la vulnerabilidad CVE-2019-10149 (Actualice urgentemente Exim a 4.92: hay una infección activa / Sudo Null IT News). Y recientemente resultó que el malware Sustes decidió aprovechar esta vulnerabilidad.

Ahora todos aquellos que actualizaron urgentemente pueden volver a “alegrarse”: el 21 de julio de 2019, el investigador Zerons descubrió una vulnerabilidad crítica en Agente de transferencia de correo Exim (MTA) cuando se usa TLS para versiones de 4.80 4.92.1 a inclusivo, permitiendo remota ejecutar código con derechos privilegiados (CVE-2019-15846).

Vulnerabilidad

La vulnerabilidad está presente cuando se utilizan las bibliotecas GnuTLS y OpenSSL al establecer una conexión TLS segura.

Según el desarrollador Heiko Schlittermann, el archivo de configuración de Exim no utiliza TLS de forma predeterminada, pero muchas distribuciones crean los certificados necesarios durante la instalación y permiten una conexión segura. También las versiones más nuevas de Exim instalan la opción tls_advertise_hosts=* y generar los certificados necesarios.

Depende de la configuración. La mayoría de las distribuciones lo habilitan de forma predeterminada, pero Exim necesita un certificado + clave para funcionar como servidor TLS. Probablemente las distribuciones crean un certificado durante la configuración. Los Exim más nuevos tienen la opción tls_advertise_hosts predeterminada en "*" y crean un certificado autofirmado, si no se proporciona ninguno.

La vulnerabilidad en sí radica en el procesamiento incorrecto de SNI (Server Name Indication, una tecnología introducida en 2003 en RFC 3546 para que un cliente solicite el certificado correcto para un nombre de dominio. Distribución del estándar TLS SNI / Blog del Grupo WEBO / Sudo Null IT News) durante un protocolo de enlace TLS. Un atacante sólo necesita enviar un SNI que termine con una barra invertida ("") y un carácter nulo ("").

Los investigadores de Qualys han descubierto un error en la función string_printing(tls_in.sni), que implica un escape incorrecto de "". Como resultado, la barra invertida se escribe sin escape en el archivo de encabezado del carrete de impresión. Luego, la función spool_read_header() lee este archivo con derechos privilegiados, lo que provoca un desbordamiento del montón.

Vale la pena señalar que en este momento los desarrolladores de Exim han creado un PoC de vulnerabilidades con la ejecución de comandos en un servidor vulnerable remoto, pero aún no está disponible públicamente. Debido a la facilidad de explotación del error, es sólo cuestión de tiempo y bastante breve.

Se puede encontrar un estudio más detallado realizado por Qualys. aquí.

Exim parcheado: parchear nuevamente. Nueva ejecución remota de comandos en Exim 4.92 en una sola solicitud

Usando SNI en TLS

Número de servidores públicos potencialmente vulnerables

Según estadísticas de un gran proveedor de hosting E-Soft Inc. A partir del 1 de septiembre, en servidores alquilados, la versión 4.92 se utiliza en más del 70% de los hosts.

Versión
Numero de servidores
Por ciento

4.92.1
6471
1.28%

4.92
376436
74.22%

4.91
58179
11.47%

4.9
5732
1.13%

4.89
10700
2.11%

4.87
14177
2.80%

4.84
9937
1.96%

Otras versiones
25568
5.04%

E-Soft Inc estadísticas de la empresa

Si utilizas un motor de búsqueda Shodan, luego de 5,250,000 en la base de datos del servidor:

  • alrededor de 3,500,000 utilizan Exim 4.92 (alrededor de 1,380,000 utilizan SSL/TLS);
  • más de 74,000 usando 4.92.1 (alrededor de 25,000 usando SSL/TLS).

Por lo tanto, los servidores Exim potencialmente vulnerables públicamente conocidos y accesibles suman aproximadamente 1.5 млн.

Exim parcheado: parchear nuevamente. Nueva ejecución remota de comandos en Exim 4.92 en una sola solicitud

Buscar servidores Exim en Shodan

Защита

  • La opción más sencilla, pero no recomendada, es no utilizar TLS, lo que provocará que los mensajes de correo electrónico se reenvíen sin cifrar.
  • Para evitar la explotación de la vulnerabilidad, sería más preferible actualizar a la versión Exim Internet Mailer 4.92.2.
  • Si es imposible actualizar o instalar una versión parcheada, puede configurar una ACL en la configuración de Exim para la opción acl_smtp_mail con las siguientes reglas:
    # to be prepended to your mail acl (the ACL referenced
    # by the acl_smtp_mail main config option)
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}}
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}

Fuente: habr.com

Añadir un comentario