Exim corrigé - patch à nouveau. Nouvelle exécution de commande à distance dans Exim 4.92 en une seule requête

Exim corrigé - patch à nouveau. Nouvelle exécution de commande à distance dans Exim 4.92 en une seule requête

Plus récemment, au début de l'été, de nombreux appels ont été lancés pour qu'Exim soit mis à jour vers la version 4.92 en raison de la vulnérabilité CVE-2019-10149 (Mettez à jour d'urgence Exim vers 4.92 - il y a une infection active / Sudo Null IT News). Et récemment, il s'est avéré que le malware Sustes avait décidé de profiter de cette vulnérabilité.

Désormais, tous ceux qui ont effectué une mise à jour urgente peuvent à nouveau « se réjouir » : le 21 juillet 2019, le chercheur Zerons a découvert une vulnérabilité critique dans Agent Exim Mail Transfer (MTA) lors de l'utilisation de TLS pour les versions de 4.80 à 4.92.1 inclusif, permettant à distance exécuter du code avec des droits privilégiés (CVE-2019-15846).

La vulnérabilité

La vulnérabilité est présente lors de l'utilisation des bibliothèques GnuTLS et OpenSSL lors de l'établissement d'une connexion TLS sécurisée.

Selon le développeur Heiko Schlittermann, le fichier de configuration d'Exim n'utilise pas TLS par défaut, mais de nombreuses distributions créent les certificats nécessaires lors de l'installation et permettent une connexion sécurisée. Les versions plus récentes d'Exim installent également l'option tls_advertise_hosts=* et générer les certificats nécessaires.

dépend de la configuration. La plupart des distributions l'activent par défaut, mais Exim a besoin d'un certificat + clé pour fonctionner comme serveur TLS. Les distributions créent probablement un certificat lors de l'installation. Les Exims plus récents ont l'option tls_advertise_hosts par défaut sur "*" et créent un certificat auto-signé, si aucun n'est fourni.

La vulnérabilité elle-même réside dans le traitement incorrect du SNI (Server Name Indication, une technologie introduite en 2003 dans la RFC 3546 permettant à un client de demander le certificat correct pour un nom de domaine, Distribution de la norme TLS SNI / Blog WEBO Group / Sudo Null IT News) lors d'une négociation TLS. Il suffit à un attaquant d'envoyer un SNI se terminant par une barre oblique inverse ("") et un caractère nul (" ").

Des chercheurs de Qualys ont découvert un bug dans la fonction string_printing(tls_in.sni), qui implique un échappement incorrect de « ». Par conséquent, la barre oblique inverse est écrite sans échappement dans le fichier d’en-tête du spool d’impression. Ce fichier est ensuite lu avec des droits privilégiés par la fonction spool_read_header(), ce qui entraîne un débordement de tas.

Il convient de noter qu'à l'heure actuelle, les développeurs d'Exim ont créé un PoC de vulnérabilités avec l'exécution de commandes sur un serveur vulnérable distant, mais il n'est pas encore accessible au public. En raison de la facilité d’exploitation du bug, ce n’est qu’une question de temps, et assez court.

Une étude plus détaillée de Qualys peut être trouvée ici.

Exim corrigé - patch à nouveau. Nouvelle exécution de commande à distance dans Exim 4.92 en une seule requête

Utiliser SNI dans TLS

Nombre de serveurs publics potentiellement vulnérables

Selon les statistiques d'un grand hébergeur E-Soft Inc. au 1er septembre, sur les serveurs loués, la version 4.92 est utilisée chez plus de 70% des hébergeurs.

Version
Nombre de serveurs
Pour cent

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%

Autres versions
25568
5.04%

Statistiques de l'entreprise E-Soft Inc.

Si vous utilisez un moteur de recherche Shodan, puis sur 5,250,000 XNUMX XNUMX dans la base de données du serveur :

  • environ 3,500,000 4.92 1,380,000 utilisent Exim XNUMX (environ XNUMX XNUMX XNUMX utilisent SSL/TLS) ;
  • plus de 74,000 4.92.1 utilisant 25,000 (environ XNUMX XNUMX utilisant SSL/TLS).

Ainsi, les serveurs Exim potentiellement vulnérables, connus publiquement et accessibles, sont au nombre d'environ 1.5 millions.

Exim corrigé - patch à nouveau. Nouvelle exécution de commande à distance dans Exim 4.92 en une seule requête

Rechercher des serveurs Exim à Shodan

Protection

  • L’option la plus simple, mais non recommandée, consiste à ne pas utiliser TLS, ce qui entraînerait le transfert des e-mails en clair.
  • Pour éviter l'exploitation de la vulnérabilité, il serait préférable de mettre à jour vers la version Exim Internet Mailer 4.92.2.
  • S'il est impossible de mettre à jour ou d'installer une version corrigée, vous pouvez définir une ACL dans la configuration Exim pour l'option acl_smtp_mail avec les règles suivantes :
    # 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}}}}

Source: habr.com

Ajouter un commentaire