Wir haben drei Schwachstellen in systemd gefunden - wir verstehen, worum es geht

Anfang des Monats entdeckten Sicherheitsexperten von Qualys sofort drei Sicherheitslücken in systemd - dem Linux-Initialisierungssubsystem -, mit denen ein Angreifer Superuser-Rechte erhalten konnte. Wir sagen, was ihre Essenz ist und welche Verteilungen ihnen unterliegen.


/ Flickr / David Göhring / CC BY / Foto geändert

Alte neue Schwachstellen


Alle drei Sicherheitslücken sind mit dem Systemd-Protokollierungsdienst journald verbunden. Die folgenden Kennungen wurden ihnen in der CVE-Datenbank zugewiesen: CVE-2018-16864 , CVE-2018-16865 und CVE-2018-16866 . Diese Sicherheitsanfälligkeiten geben einem Angreifer die Möglichkeit, Root-Rechte auf dem angegriffenen System zu erlangen.

Alle Distributionen ohne die User-Space-Schutzfunktion ( -fstack-check ) - Debian, Ubuntu, Fedora, CentOS, Mageia usw. sind gefährdet. Ausnahmen sind SUSE Linux Enterprise 15 und openSUSE Leap 15.0 sowie die Fedora-Versionen 28 und 29.

Interessanterweise gibt es alle drei Sicherheitslücken seit mehreren Jahren , nur war nichts über sie bekannt. CVE-2018-16864 entstand 2013, wurde jedoch 2016 betriebsbereit, als systemd auf Version 230 aktualisiert wurde. CVE-2018-16865 erschien 2011 im Betriebssystem, wurde jedoch erst zwei Jahre nach der Veröffentlichung der systemd-Version 201 kritisch.

Die dritte Sicherheitsanfälligkeit (CVE-2018-16866) besteht seit 2015. Einige Jahre später wurde es jedoch versehentlich mit dem systemd v240-Update geschlossen. Maschinen ohne diesen Patch sind immer noch in Gefahr.

Was ist die Essenz der entdeckten "Löcher"?


Die Sicherheitsanfälligkeit CVE-2018-16864 ermöglicht es einem Angreifer, die Befehlszeile zu manipulieren und viele Argumente (mit einem Gewicht von mehreren Megabyte) an systemd-journald zu senden, wodurch der Prozess abstürzt. Ferner hat der Hacker die Möglichkeit, die Kontrolle über den erweiterten Befehlszeiger (EIP) zu übernehmen.

Das Problem mit CVE-2018-16864 hängt mit dem Schreiben einer großen Nachricht in / run / systemd / journal / socket zusammen. Infolgedessen verlässt ein Teil dieser Nachricht den Stapel und tritt in den mmap- Bereich ein. Danach kann ein Angreifer das Lese- / Schreibsegment von libc neu schreiben , den Funktionszeiger ersetzen und eine beliebige Programmkette auf dem System ausführen.

CVE-2018-16866 ist mit einem Zeilenanalysefehler verbunden. Wenn Sie eine spezielle Nachricht (die mit einem Doppelpunkt endet) im Syslog-Format an das Protokollierungssystem senden, ignoriert das System das Zeilenende und schreibt den nächsten Teil des Stapels in das Protokoll.

Die zweite und dritte Sicherheitsanfälligkeit ermöglichen die Implementierung des sogenannten Angriffs, kehren in die Bibliothek zurück und führen auf dem Computer des Opfers alle Funktionen aus. Laut Experten von Qualys ist es ihnen gelungen, in 10 bzw. 70 Minuten einen Exploit zu erstellen und Superuser-Rechte auf Computern mit der i386- und der amd64-Architektur zu erlangen.

„Diese Sicherheitslücken sind sehr schwerwiegend, da sie es ermöglichen, die Zugriffsrechte im System zu erhöhen. Die Autoren halten ihren Exploit-Code immer noch geheim, da es eine große Anzahl von Verteilungen von „Löchern“ gibt, kommentierte Sergey Belkin, Leiter der Entwicklungsabteilung des IaaS-Anbieters 1cloud.ru . "Sie werden es veröffentlichen, wenn die Sicherheitslücken geschlossen sind." Einige Entwickler, zum Beispiel von Ubuntu und Red Hat , haben bereits die erforderlichen Patches veröffentlicht. Sie finden sie in den offiziellen Repositories. “


/ Flickr / bradleypjohnson / CC BY

Welche anderen Schwachstellen wurden in systemd gefunden?


Das letzte Mal , dass im Oktober 2018 eine Systemd-Sicherheitslücke entdeckt wurde. Der Service Manager-DHCPv6-Client wurde automatisch gestartet, wenn eine Nachricht von einem DHCP-Server im lokalen Netzwerk oder Internetdienstanbieter empfangen wurde. Die Verwendung dieser Meldung in systemd kann zu einem Speicherfehler führen und die Kontrolle über den Computer erlangen.

Zuvor wurden 2017 mehrere Fehler im Code des Service Managers gefunden. Einer von ihnen erlaubte Angreifern, TCP-Pakete zu verwenden, um beliebigen Code auf dem System auszuführen. TCP-Pakete haben systemd gezwungen, zu wenig Pufferplatz für die Nachricht zuzuweisen. Dadurch konnten wir beliebige Daten außerhalb des Puffers in den Hauptspeicher schreiben.

Eine weitere Sicherheitsanfälligkeit im Jahr 2017 betraf den unbefugten Erwerb von Superuser-Rechten. In einigen Distributionen, zum Beispiel CentOS und RHEL7, war es in systemd möglich, ein Profil mit einem Benutzernamen zu erstellen, der mit einer Nummer beginnt. Obwohl normalerweise unter Linux, wird diese Funktion nicht bereitgestellt. Wenn jedoch ein solcher Benutzer im System angezeigt wurde, gewährte ihm der Servicemanager Administratorrechte.

Alle diese Schwachstellen wurden in kurzer Zeit geschlossen. Nach und nach erscheinen auch "Patches" für neue "Löcher", die im Januar entdeckt wurden. Es ist zu erwarten, dass Schwachstellen in den meisten Distributionen bald geschlossen werden und Administratoren von Linux-Servern und Computern nur noch ein Systemupdate installieren müssen.

Beiträge aus dem 1cloud-Unternehmensblog:

Source: https://habr.com/ru/post/de437556/


All Articles