Linux-Sicherheitslücke
So entschärfen Sie PwnKit
Foto: Dyfrain - shutterstock.com
Sicherheitsforscher haben eine Sicherheitslücke im Linux-Standard-Tool pkexec identifiziert. Dieses ist standardmäßig auf vielen Linux-Installationen vorhanden und ermöglicht Privilege-Escalation-Angriffe. Die "PwnKit" getaufte Schwachstelle könnte Angreifer mit Root-Rechten ausstatten - alles, was diese dazu benötigen, ist Zugang zu einem gewöhnlichen Benutzerkonto. Adminrechte sind nicht erforderlich.
Security-Forscher von Qualys haben die Linux-Schwachstelle entdeckt und bestätigt, dass diese in den Standardkonfigurationen einiger der beliebtesten Linux-Distributionen wie Ubuntu, Debian, Fedora und CentOS ausgenutzt werden kann. Die Profis halten es dabei für wahrscheinlich, dass auch andere Distributionen betroffen sein könnten, da der anfällige Code bereits seit über zwölf Jahren existiert.
Was ist die PwnKit-Schwachstelle?
Pkexec ist Teil einer Linux-Komponente, die als PolicyKit oder PolKit bekannt ist und eine Autorisierungs-API bereitstellt. Über diese können die unprivilegierte Programme auf Funktionen zugreifen, die von privilegierten Programmen oder Diensten angeboten werden. Das Dienstprogramm pkexec selbst ermöglicht es Benutzern, Befehle als ein anderer Benutzer auszuführen. Wird kein Benutzer angegeben, werden die Befehle mit Root-Rechten ausgeführt.
Die Security-Forscher entdeckten im pkexec-Code einen Out-of-Bounds-Speicherfehler, der jetzt als CVE-2021-4034 verfolgt wird. Der Fehler ermöglicht Angreifern, gefährliche Umgebungsvariablen wie LD_PRELOAD in den Execution Flow zu injizieren. LD_PRELOAD ist eine optionale Variable, die einem Programm einen benutzerdefinierten Pfad mitteilt, in dem es während der Ausführung nach gemeinsam genutzten Bibliotheken oder Objekten suchen und diese vor allen anderen Bibliotheken laden soll.
The #Qualys Research Team has discovered an easily exploitable memory corruption vulnerability (#Pwnkit) in polkit a SUID-root program that allows any unprivileged local user to gain root privileges on all major linux systems in its default configuration: https://t.co/hz74iWU7mz pic.twitter.com/68HJI1nLSG
— Qualys (@qualys) January 25, 2022
Normalerweise werden solche Umgebungsvariablen gelöscht, bevor pkexec-Befehle ausgeführt werden. Aufgrund der Schwachstelle können Angreifer diesen Mechanismus jedoch umgehen. Die Qualys-Forscher haben diesen Teil des Exploits bislang nicht en détail erklärt - aufgrund des hohen Risikos und der potenziell weitreichenden Auswirkungen der Schwachstelle wurde bislang kein Proof-of-Concept-Exploit veröffentlicht.
Da es sich um eine lokale Schwachstelle handelt, die zu einer Privilege Escalation führt, kann sie nicht remote ausgenutzt werden. Angreifer müssen sich zunächst Zugang zu einem lokalen Konto auf dem System verschaffen. Obwohl sie im Allgemeinen nicht als besonders kritisch eingestuft werden, sind Schwachstellen, die zu einer Ausweitung lokaler Rechte führen, ein wichtiger Bestandteil moderner Exploit-Ketten.
Aufgrund der Anti-Exploitation-Mechanismen in modernen Betriebssystemen und Anwendungen müssen Angreifer oft mehrere Schwachstellen miteinander verknüpfen, um vollständigen Systemzugriff zu erlangen. Remote Code Execution im Kontext eines unprivilegierten Benutzers kann auf verschiedene Weise erreicht werden - beispielsweise indem separate Schwachstellen oder Fehlkonfigurationen in anderen Anwendungen oder Services ausgenutzt werden.
Leicht auszunutzende Privilege-Escalation-Schwachstellen, die standardmäßig auf Millionen von Systemen vorhanden sind, stellen deshalb ein ernstes Risiko dar.
PwnKit-Sicherheitslücke entschärfen
Für die meisten Linux-Distributionen sind Patches für pkexec in Arbeit, bereits veröffentlicht oder es stehen alternative, temporäre Abhilfemaßnahmen in dokumentierter Form zur Verfügung (Red Hat, Debian, Ubuntu). Den Benutzern wird empfohlen, die Patches für ihre jeweilige Linux-Version so schnell wie möglich einzuspielen.
Red Hat-Benutzer können SystemTap verwenden, um eine temporäre Abhilfemaßnahme einzuziehen: SystemTap ist ein Dienstprogramm zur Systemverwaltung und -überwachung, mit dem Benutzer Skripte als Kernelmodule schreiben und ausführen können. Das Sicherheitsbulletin des Unternehmens für CVE-2021-4034 enthält ein SystemTap-Skript, das pkexec blockieren soll. Die Einschränkungen: Das Skript muss bei jedem Neustart des Systems neu in den Kernel geladen werden und funktioniert nicht auf Systemen mit aktiviertem Secure Boot. Das liegt daran, dass der Secure-Boot-Mechanismus überprüft, ob alle Kernel-Module mit einem vertrauenswürdigen Developer Key signiert sind. SystemTap-Skripte werden allerdings auf Benutzerebene erstellt und sind unsigniert.
Red Hat hat auch ein Skript erstellt, das erkennen kann, ob ein System verwundbar ist, und ein weiteres Ansible-Playbook, das die Bereitstellung der Abhilfemaßnahmen automatisieren kann.
Der Sicherheitsforscher Florian Roth hat seine Open-Source-Best-Practice-Konfiguration für auditd aktualisiert und eine Regel hinzugefügt, die Kompromittierungsversuche im Zusammenhang mit CVE-2021-4034 erkennen soll. Das Linux Auditing System (auditd) ist eine native Funktion des Linux-Kernels, die zur Aufzeichnung von Systemaktivitäten verwendet werden kann und so die Untersuchung von Vorfällen erleichtert. (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.