Patched Exim - Patch erneut. Neue Remote-Befehlsausführung in Exim 4.92 in einer Anforderung


In jüngerer Zeit, zu Beginn des Sommers, gab es aufgrund der Sicherheitsanfälligkeit CVE-2019-10149 ( Aktualisierung von Exim dringend auf 4.92 - aktive Infektion / Habr ) massive Aufrufe zur Aktualisierung von Exim auf Version 4.92. Und neulich stellte sich heraus, dass die Malware Sustes beschlossen hat, diese Sicherheitsanfälligkeit auszunutzen.


Jetzt können alle dringend aktualisierten wieder „glücklich“ sein: Am 21. Juli 2019 entdeckte der Zerons-Forscher eine kritische Sicherheitslücke im Exim Mail Transfer Agent (MTA), als er TLS für Versionen von 4.80 bis 4.92.1 einschließlich verwendete und die Remotecodeausführung mit privilegierten Berechtigungen ( CVE) ermöglichte -2019-15846 ).


Sicherheitslücke


Die Sicherheitsanfälligkeit liegt vor, wenn beim Herstellen einer sicheren TLS-Verbindung sowohl die GnuTLS- als auch die OpenSSL-Bibliothek verwendet werden.


Laut dem Entwickler Heiko Schlittermann verwendet die Konfigurationsdatei in Exim standardmäßig kein TLS. Viele Distributionen erstellen jedoch die erforderlichen Zertifikate während der Installation und enthalten eine sichere Verbindung. Neuere Versionen von Exim setzen auch die Option tls_advertise_hosts = * und generieren die erforderlichen Zertifikate.


hängt von der Konfiguration ab. Die meisten Distributionen aktivieren es standardmäßig, aber Exim benötigt ein Zertifikat + einen Schlüssel, um als TLS-Server zu arbeiten. Wahrscheinlich erstellen Distros während des Setups ein Zertifikat. Neuere Exims haben die Option tls_advertise_hosts standardmäßig auf "*" und erstellen ein selbstsigniertes Zertifikat, falls keines angegeben ist.

Die Sicherheitsanfälligkeit selbst besteht in einer falschen SNI-Verarbeitung (Server Name Indication, eine 2003 in RFC 3546 eingeführte Technologie, um einen Client ein gültiges Zertifikat für einen Domainnamen anzufordern, Verteilung des TLS-SNI-Standards / Blogs des Unternehmens WEBO Group / Habr ) während eines TLS-Handshakes. Es reicht aus, wenn der Angreifer eine SNI sendet, die mit einem Backslash ("\") und einem Nullzeichen ("\ 0") endet.


Qualys-Forscher haben einen Fehler in der Funktion string_printing (tls_in.sni) gefunden, bei dem es sich um das falsche "\" handelt. Infolgedessen wird der Backslash in nicht entkoppelter Form in die Druckspool-Headerdatei geschrieben. Außerdem wird diese Datei mit privilegierten Rechten von der Funktion spool_read_header () gelesen, was zu einem Heap-Überlauf führt.


Es ist erwähnenswert, dass Exim-Entwickler derzeit PoC-Schwachstellen mit der Ausführung von Befehlen auf einem anfälligen Remote-Server erstellt haben, diese jedoch noch nicht öffentlich verfügbar sind. Aufgrund der einfachen Bedienung des Fehlers ist dies nur eine Frage der Zeit und eine recht kurze.


Eine detailliertere Studie zu Qualys finden Sie hier .


Verwenden von SNI in TLS


Verwenden von SNI in TLS


Anzahl potenziell anfälliger öffentlicher Server


Laut Statistiken eines großen Hosting-Anbieters E-Soft Inc wird ab dem 1. September Version 4.92 auf mehr als 70% der Hosts auf geleasten Servern verwendet.


VersionAnzahl der ServerProzent
4.92.164711,28%
4.9237643674,22%
4.915817911,47%
4.957321,13%
4.89107002,11%
4.87141772,80%
4.8499371,96%
Andere Versionen255685,04%

Unternehmensstatistik von E-Soft Inc.


Wenn Sie sich an die Suchmaschine Shodan wenden, dann von 5.250.000 in der Serverdatenbank:


  • ca. 3.500.000 verwenden Exim 4.92 (ca. 1.380.000 mit SSL / TLS);
  • Über 74.000 verwenden 4.92.1 (ca. 25.000 mit SSL / TLS).

Somit gibt es ungefähr 1,5 Millionen öffentlich bekannte und zugängliche potenziell anfällige Exim-Server.


Suche nach Exim-Servern in Shodan


Suche nach Exim-Servern in Shodan


Schutz


  • Die einfachste, aber nicht empfohlene Option besteht darin, kein TLS zu verwenden, was zur Weiterleitung von E-Mail-Nachrichten im Klartext führt.
  • Um die Ausnutzung der Sicherheitsanfälligkeit zu vermeiden, ist ein Upgrade auf Exim Internet Mailer 4.92.2 vorzuziehen .
  • Wenn es nicht möglich ist, die gepatchte Version zu aktualisieren oder zu installieren, können Sie die ACL in der Exim-Konfiguration für die Option acl_smtp_mail mit den folgenden Regeln festlegen:

    # 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: https://habr.com/ru/post/de467089/


All Articles