Das Exim 4.94.2-Update behebt 10 aus der Ferne ausnutzbare Schwachstellen

Die Veröffentlichung des Mailservers Exim 4.94.2 erfolgte mit der Beseitigung von 21 Schwachstellen (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), die von Qualys identifiziert und unter dem Codenamen präsentiert wurden 21Nägel. 10 Probleme können aus der Ferne ausgenutzt werden (einschließlich der Ausführung von Code mit Root-Rechten), indem SMTP-Befehle bei der Interaktion mit dem Server manipuliert werden.

Betroffen von dem Problem sind alle Versionen von Exim, deren Verlauf seit 2004 in Git verfolgt wird. Funktionierende Prototypen von Exploits wurden für vier lokale Schwachstellen und drei Remote-Probleme vorbereitet. Exploits für lokale Schwachstellen (CVE-4-3, CVE-2020-28007, CVE-2020-28008, CVE-2020-28015) ermöglichen es Ihnen, Ihre Berechtigungen auf den Root-Benutzer zu erhöhen. Zwei Remote-Probleme (CVE-2020-28012, CVE-2020-28020) ermöglichen die Ausführung von Code ohne Authentifizierung als Exim-Benutzer (Sie können dann Root-Zugriff erhalten, indem Sie eine der lokalen Schwachstellen ausnutzen).

Die Sicherheitslücke CVE-2020-28021 ermöglicht die sofortige Remote-Codeausführung mit Root-Rechten, erfordert jedoch einen authentifizierten Zugriff (der Benutzer muss eine authentifizierte Sitzung aufbauen, woraufhin er die Sicherheitslücke durch Manipulation des AUTH-Parameters im Befehl MAIL FROM ausnutzen kann). Das Problem wird durch die Tatsache verursacht, dass ein Angreifer eine Zeichenfolgenersetzung im Header einer Spooldatei erreichen kann, indem er den Wert „authenticated_sender“ schreibt, ohne Sonderzeichen ordnungsgemäß zu maskieren (z. B. durch Übergabe des Befehls „MAIL FROM:<> AUTH=Raven+0AReyes “).

Darüber hinaus wird darauf hingewiesen, dass eine weitere Remote-Schwachstelle, CVE-2020-28017, ausgenutzt werden kann, um Code mit „exim“-Benutzerrechten ohne Authentifizierung auszuführen, dafür aber mehr als 25 GB Speicher benötigt. Für die verbleibenden 13 Schwachstellen könnten möglicherweise auch Exploits vorbereitet werden, Arbeiten in dieser Richtung wurden jedoch noch nicht durchgeführt.

Die Exim-Entwickler wurden bereits im Oktober letzten Jahres über die Probleme informiert und verbrachten mehr als sechs Monate damit, Lösungen zu entwickeln. Allen Administratoren wird empfohlen, Exim auf ihren Mailservern dringend auf Version 6 zu aktualisieren. Alle Exim-Versionen vor Version 4.94.2 wurden für veraltet erklärt. Die Veröffentlichung der neuen Version wurde mit Distributionen abgestimmt, die gleichzeitig Paketaktualisierungen veröffentlichten: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE und Fedora. RHEL und CentOS sind von dem Problem nicht betroffen, da Exim nicht in ihrem Standardpaket-Repository enthalten ist (EPEL verfügt noch über kein Update).

Behobene Schwachstellen:

  • CVE-2020-28017: Ganzzahlüberlauf in der Funktion „receive_add_recipient()“;
  • CVE-2020-28020: Ganzzahlüberlauf in der Funktion „receive_msg()“;
  • CVE-2020-28023: Lesen außerhalb der Grenzen in smtp_setup_msg();
  • CVE-2020-28021: Ersetzung einer neuen Zeile im Spooldatei-Header;
  • CVE-2020-28022: Schreiben und Lesen in einem Bereich außerhalb des zugewiesenen Puffers in der Funktion extract_option();
  • CVE-2020-28026: Abschneiden und Ersetzen von Zeichenfolgen in spool_read_header();
  • CVE-2020-28019: Absturz beim Zurücksetzen eines Funktionszeigers nach Auftreten eines BDAT-Fehlers;
  • CVE-2020-28024: Pufferunterlauf in der Funktion smtp_ungetc();
  • CVE-2020-28018: Use-after-free-Pufferzugriff in tls-openssl.c
  • CVE-2020-28025: Ein außerhalb der Grenzen liegender Lesevorgang in der Funktion pdkim_finish_bodyhash().

Lokale Schwachstellen:

  • CVE-2020-28007: Symbolischer Linkangriff im Exim-Protokollverzeichnis;
  • CVE-2020-28008: Spool-Verzeichnisangriffe;
  • CVE-2020-28014: Beliebige Dateierstellung;
  • CVE-2021-27216: Willkürliches Löschen von Dateien;
  • CVE-2020-28011: Pufferüberlauf in queue_run();
  • CVE-2020-28010: Schreiben außerhalb der Grenzen in main();
  • CVE-2020-28013: Pufferüberlauf in der Funktion parse_fix_phrase();
  • CVE-2020-28016: Schreiben außerhalb der Grenzen in parse_fix_phrase();
  • CVE-2020-28015: Ersetzung einer neuen Zeile im Spooldatei-Header;
  • CVE-2020-28012: Fehlendes Close-on-exec-Flag für eine privilegierte unbenannte Pipe;
  • CVE-2020-28009: Ganzzahlüberlauf in der Funktion get_stdinput().



Source: opennet.ru

Kommentar hinzufügen