Sicherheitslücke in Polkit, die es Ihnen ermöglicht, Ihre Berechtigungen im System zu erweitern

In der Polkit-Komponente wurde eine Schwachstelle (CVE-2021-3560) identifiziert, die in Distributionen verwendet wird, um unprivilegierten Benutzern die Durchführung von Aktionen zu ermöglichen, die erhöhte Zugriffsrechte erfordern (z. B. das Mounten eines USB-Laufwerks), was einem lokalen Benutzer ermöglicht Root-Rechte im System erlangen. Die Schwachstelle wurde in Polkit Version 0.119 behoben.

Das Problem besteht seit Release 0.113, aber viele Distributionen, darunter RHEL, Ubuntu, Debian und SUSE, haben die betroffene Funktionalität in Pakete zurückportiert, die auf älteren Polkit-Releases basieren (Paketkorrekturen sind bereits in den Distributionen verfügbar).

Das Problem manifestiert sich in der Funktion polkit_system_bus_name_get_creds_sync(), die die Kennungen (UID und PID) des Prozesses abruft, der eine Rechteerhöhung anfordert. Ein Prozess wird von Polkit durch die Zuweisung eines eindeutigen Namens in DBus identifiziert, der dann zur Überprüfung der Berechtigungen verwendet wird. Wenn ein Prozess die Verbindung zum dbus-daemon trennt, kurz bevor der Handler polkit_system_bus_name_get_creds_sync startet, erhält der Handler einen Fehlercode anstelle eines eindeutigen Namens.

Die Sicherheitslücke wird durch die Tatsache verursacht, dass der zurückgegebene Fehlercode nicht ordnungsgemäß verarbeitet wird und die Funktion polkit_system_bus_name_get_creds_sync() TRUE statt FALSE zurückgibt, obwohl es nicht möglich ist, den Prozess der UID/PID zuzuordnen und die für den Prozess angeforderten Berechtigungen zu überprüfen. Der Code, von dem aus die Funktion polkit_system_bus_name_get_creds_sync() aufgerufen wurde, geht davon aus, dass die Prüfung erfolgreich war und die Anforderung zur Eskalation der Berechtigungen von Root und nicht von einem nicht privilegierten Benutzer kam, was es ermöglicht, privilegierte Aktionen ohne zusätzliche Authentifizierung und Überprüfung der Anmeldeinformationen auszuführen.

Source: opennet.ru

Kommentar hinzufügen