In , die Implementierung des NTP-Protokolls, das zur Synchronisierung der genauen Zeit in verschiedenen Linux-Distributionen verwendet wird, eine Schwachstelle (), das es ermöglicht, beliebige Dateien im System zu überschreiben, wenn man als unprivilegierter lokaler Benutzer chrony zugreift. Die Schwachstelle kann nur durch den chrony-Benutzer ausgenutzt werden, was ihre Gefahr reduziert. Dennoch beeinträchtigt das Problem das Isolationsniveau in chrony und kann genutzt werden, falls eine andere Schwachstelle im nach dem Privilegienabbau ausgeführten Code entdeckt wird.
Die Schwachstelle entsteht durch das unsichere Erstellen von pid-Dateien, die zu einem Zeitpunkt erstellt wurden, als chrony noch keine Privilegien abgebaut hatte und mit Root-Rechten ausgeführt wurde. Der Verzeichnis /run/chrony, in das die pid-Datei geschrieben wird, wurde mit den Rechten 0750 über systemd-tmpfiles oder beim Starten von chronyd unter dem Benutzer und der Gruppe „chrony“ erstellt. Somit besteht, bei Zugriff auf den Benutzer chrony, die Möglichkeit, die pid-Datei /run/chrony/chronyd.pid durch einen symbolischen Link zu ersetzen. Der symbolische Link kann auf jede Systemdatei verweisen, die zum Zeitpunkt des Starts von chronyd überschrieben wird.
root# systemctl stop chronyd.service
root# sudo -u chrony /bin/bash
chrony$ cd /run/chrony
chrony$ ln -s /etc/shadow chronyd.pid
chrony$ exit
root# /usr/sbin/chronyd -n
^C
# вместо содержимого /etc/shadow будет сохранён идентификатор процесса chronyd
root# cat /etc/shadow
15287
Sicherheitsanfälligkeit im Release . Sicherheitsupdates für betroffene Pakete sind verfügbar für . Updates werden für die Vorbereitung erstellt für , und .
SUSE und openSUSE bezüglich , da der symbolische Link für chrony direkt im Verzeichnis /run erstellt wird, ohne zusätzliche Unterverzeichnisse.
Quelle: opennet.ru
