Details zu einer kritischen Schwachstelle in Exim wurden offengelegt.

Veröffentlicht Korrekturversion Exim 4.92.2 bei der Behebung einer kritischen Sicherheitsanfälligkeiten (CVE-2019-15846), die in der Standardkonfiguration zu einer Remote-Code-Ausführung durch einen Angreifer mit Root-Rechten führen kann. Das Problem tritt nur bei aktivierter TLS-Unterstützung auf und wird durch die Übermittlung eines speziell gestalteten Client-Zertifikats oder eines modifizierten Wertes im SNI ausgenutzt. Die Schwachstelle wurde wurde von der Firma Qualys entdeckt.

Das Problem seit 2016 vorhanden im Handler zur Escape-Verarbeitung von Sonderzeichen in der Zeichenkette (string_interpret_escape() aus string.c) und tritt auf, weil das Zeichen ‘\’ am Ende der Zeichenkette vor dem Nullzeichen (‘\0’) interpretiert wird und es escapen kann. Bei der Escape-Verarbeitung wird die Sequenz ‘\’ zusammen mit dem folgenden Nullzeichen am Ende der Zeichenkette als ein Zeichen behandelt, und der Zeiger wird auf Daten verschoben, die außerhalb der Zeichenkette liegen und als deren Fortsetzung interpretiert werden.

Der Code, der string_interpret_escape() aufruft, reserviert einen Puffer basierend auf der tatsächlichen Größe, wobei der angegebene Zeiger sich außerhalb der Puffergrenzen befindet. Daher führt der Versuch, die Eingabezeichenfolge zu verarbeiten, zu einer Situation, in der Daten außerhalb des zugewiesenen Puffers gelesen werden, und der Versuch, die entpackte Zeichenfolge zu schreiben, kann zu einem Überlauf des Puffers führen.

In der Standardkonfiguration kann die Schwachstelle ausgenutzt werden, indem speziell gestaltete Daten an SNI übergeben werden, wenn eine gesicherte Verbindung zum Server hergestellt wird. Das Problem kann auch durch Modifizieren der Werte von peerdn in Konfigurationen, die für die Client-Zertifikatauthentifizierung eingerichtet sind, oder beim Importieren von Zertifikaten ausgenutzt werden. Angriffe über SNI und peerdn sind seit der Version Exim 4.80, in der die Funktion string_unprinting() zum Entpacken des Inhalts von peerdn und SNI verwendet wurde, möglich.

Ein Prototyp eines Exploits für Angriffe über SNI wurde entwickelt, der auf i386- und amd64-Architekturen in Linux-Systemen mit Glibc funktioniert. Der Exploit nutzt eine Datenüberlagerung im Heap-Bereich, die zu einer Überschreibung des Speichers führt, in dem der Name der Logdatei gespeichert ist. Der Dateiname wird durch „/../../../../../../../../etc/passwd“ ersetzt. Danach wird die Variable mit der Adresse des Absenders überschrieben, die zuerst im Log gespeichert wird, wodurch ein neuer Benutzer im System hinzugefügt werden kann.

Paketupdates zur Behebung der Sicherheitsanfälligkeit wurden von mehrfachen Distributionen veröffentlicht. Debian, Ubuntu, , aber bisher ist er noch nicht in, SUSE/openSUSE und FreeBSD. RHEL und CentOS sind betroffen sind nicht betroffen., da Exim nicht in deren standardmäßigem Paketrepository enthalten ist (in EPEL Update vor. bereits wurden, sind jedoch derzeit nicht enthalten im öffentlichen Repository). Im Exim-Code wird das Problem mit einer einzeiligen Lösung behoben, die die Escape-Funktion des Backslashes deaktiviert, wenn dieser am Ende der Zeile steht. einen PatchAls Umgehung zur Blockierung der Schwachstelle kann die Unterstützung von TLS deaktiviert oder zur

ACL-Sektion „acl_smtp_mail“ Folgendes hinzugefügt werden:
deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}

deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster