conference logo

Playlist "Dezentrale Jahresendveranstaltungen"

Logrotten - "It's not a bug"

Wolfgang Hotwagner

Logrotate, ein Tool zum Verwalten von Logdateien, verfügt über eine Sicherheitslücke, die das Ausweiten der Rechte über eine Race Condition erlaubt. Die Sicherheitlücke – “Logrotten” - kann dann ausgenutzt werden, wenn ein*e unprivilegierte*r Benutzer*in das Logverzeichnis unter Kontrolle hat.
In diesem Vortrag wird gezeigt, wie einfach es ist, diese Sicherheitslücke auszunutzen, und es wird gezeigt, welche Auswirkungen und Reichweite diese Sicherheitslücke hat, z.B. auf andere Softwarepakete wie gitlab. Am Ende wird der aktuelle Stand von Logrotate aufgezeigt.

Mit Logrotate können Logfiles verwaltet werden. Es ermöglicht das automatische Rotieren, Komprimieren, Entfernen und Versenden von Logdateien. Jede Logdatei kann dabei täglich, wöchentlich oder monatlich von Logrotate rotiert werden, bzw. wenn sie eine bestimmte Größe erreicht hat. Außerdem bietet Logrotate auch eine Root-Shell.

Logrotate unterstützt verschiedene Methoden, um neue Dateien zu erstellen. Die Direktive "copy" beispielsweise erstellt eine Kopie der Logdatei und "create" erzeugt nach dem Rotieren eine neue, leere Logdatei. Wenn jemand das Logverzeichnis mit einem symbolischen Link austauscht, kurz bevor die neue Logdatei erstellt wird, legt Logrotate die neue Datei in einem anderen Verzeichnis ab. Ein solches Szenario kann ausgenutzt werden, wenn Logrotate als Benutzer root läuft und ein*e Benutzer*in mit geringen Privilegien die Kontrolle über den Pfad zum Logverzeichnis hat. Wenn diese*r Benutzer*in zum richtigen Zeitpunkt das Logverzeichnis mit einem symbolischen Link austauscht, schreibt Logrotate die neue Datei in das verlinkte Verzeichnis. Danach werden die Berechtigungen der erstellten Datei angepasst, sodass die angreifende Person Schreibzugriff auf dieser Datei hat.
In diesem Vortrag werden die verschiedenen Szenarien erläutert, in denen Logrotate auf gefährliche Weise konfiguriert werden kann. Es wird erläutert, welche Softwarepakete gefunden wurden, die anfällig für diese Art von Angriffen sind. Abschließend wird der aktuelle Stand von Logrotate diskutiert.