Sicherheitsanfälligkeit in chrony

Im chrony, Implementierung des NTP-Protokolls, das zur Synchronisierung der genauen Zeit in verschiedenen Linux-Distributionen verwendet wird, entdeckt Schwachstelle (CVE-2020-14367), die es ermöglicht, jede Datei im System zu überschreiben, wenn man als lokaler unprivilegierter Benutzer chrony Zugriff hat. Die Schwachstelle kann nur über den chrony-Benutzer ausgenutzt werden, was ihre Gefährlichkeit verringert. Dennoch gefährdet das Problem das Isolationsniveau in chrony und könnte ausgenutzt werden, wenn eine andere Schwachstelle im nach der Privilegienrücksetzung ausgeführten Code entdeckt wird.

Die Schwachstelle wird durch die unsichere Erstellung von PID-Dateien verursacht, die zu einem Zeitpunkt erstellt werden, als chrony noch keine Privilegien zurückgesetzt hat und mit Root-Rechten läuft. Dabei wird das Verzeichnis /run/chrony, in das die PID-Datei geschrieben wird, mit den Rechten 0750 über systemd-tmpfiles oder beim Start von chronyd unter dem Benutzer und der Gruppe „chrony“ erstellt. Daher, wenn man Zugriff auf den chrony-Benutzer hat, ist es möglich, 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

Schwachstelle behoben in der Version chrony 3.5.1. Updates für die Behebung der Schwachstelle sind verfügbar für Fedora. Bei der Vorbereitung eines Updates für RHEL, Debian und Ubuntu.

SUSE und openSUSE zur Problematik sind nicht betroffen, da der symbolische Link für chrony direkt im Verzeichnis /run erstellt wird, ohne zusätzliche Unterverzeichnisse zu nutzen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4