
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
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.
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
Schutz