Pwnkit: Triviale Linux-Lücke ermöglicht Root-Rechte

Zum Ausnutzen der Sicherheitslücke in Polkit muss der Dienst nur installiert sein. Das betrifft auch Serversysteme. Exploits dürften schnell genutzt werden.

Artikel veröffentlicht am ,
Der Linux-Dienst Polkit enthält eine schwerwiegende und trivial ausnutzbare Sicherheitslücke.
Der Linux-Dienst Polkit enthält eine schwerwiegende und trivial ausnutzbare Sicherheitslücke. (Bild: Pixabay)

Sicherheitsforscher von Qualys haben in dem sehr weit verbreiteten Linux-Dienst Polkit (früher Policykit) eine Sicherheitslücke entdeckt (CVE-2021-4034), die vergleichsweise trivial ist und sich deshalb leicht ausnutzen lassen dürfte, um Root-Rechte zu erlangen.

Der Code zum Ausnutzen der Lücke ist zwar noch nicht öffentlich verfügbar, wohl aber relativ leicht selbst zu erstellen und sei zu 100 Prozent zuverlässig, wie ein anderer Forscher schreibt. Mit Versuchen, die Lücke auszunutzen, dürfte also bald zu rechnen sein. Dazu muss das System aber bereits vorher über eine weitere Lücke kompromittiert worden sein oder der Angreifer muss einen Nutzeraccount auf dem System haben. Ein Angriff aus der Ferne ist nicht möglich.

Die Forscher nennen die Lücke Pwnkit und als Voraussetzung zum Ausnutzen reicht es laut den Ausführungen aus, dass die Software lediglich installiert ist, der Polkit-Daemon muss dafür nicht aktiv benutzt werden. Neben den meisten Linux-Desktop-Distributionen betrifft das auch Servervarianten. Golem.de konnte dies etwa für ein aktuelles Ubuntu-Server-System bestätigen, auf einem Debian-Server wiederum nicht. Bei Neuinstallationen von Debian wird die Software jedoch mitgeliefert und das System ist verwundbar. Auch die Serversysteme von Suse und Red Hat sind betroffen.

Triviale Lücke theoretisch schon länger bekannt

Konkret steckt die Sicherheitslücke in der Binärdatei pkexec, und zwar bereits seit dem Jahr 2009. Grundlage des Fehlers sind demnach typische Fehler der Programmiersprache C sowie gewisse Eigenheiten des Linux-Kernels selbst. Ausgenutzt werden kann die Lücke demnach, indem es gelingt, pkexec mit einer leeren Anzahl von Argumenten (argc ist 0) aufzurufen. Das wiederum führt dazu, dass argv[0] gleich NULL ist. Letztlich führt dies zu einem Out-of-Bounds-Schreibzugriff, der dazu genutzt werden kann, Umgebungsvariablen zu überschreiben.

Besonders gravierend an der Lücke ist, dass solch ein mögliches Angriffsszenario seit langem bekannt ist. So beschrieb der Entwickler und Sicherheitsforscher Ryan Mallon in seinem Blog dieses problematische Verhalten von argv[0] bereits im Jahr 2013. Mallon gelang es damals aber nicht, eine Binärdatei zu finden, die sich für einen erfolgreichen Angriff geeignet hätte.

Darüber hinaus schreiben die Forscher von Qualys aber auch, dass ein Ausnutzen der Lücke unter OpenBSD nicht möglich ist. Der einfache Grund dafür ist, dass die OpenBSD-Kernel-Funktion execve() Programme im Falle argc gleich 0 schlicht nicht ausführt. Dies wurde wohl aus Sicherheitserwägungen so umgesetzt. Unter Linux werden die Programme in solch einem Fall aber ausgeführt, was die Lücke letztlich ausnutzbar macht.

Entdeckt hat Qualys die Lücke eigenen Angaben zufolge bereits im vergangenen November, vor zwei Wochen seien zudem die Linux-Distributionen über die Lücke informiert worden. Diese stellen inzwischen Patches und Updates bereit, die die Lücke schließen. Auch im Polkit-Code selbst ist der Patch inzwischen öffentlich einsehbar. Das umfasst jedoch nur das Verhalten in pkexec.

Ob das Verhalten des Linux-Kernels darüber hinaus dem von OpenBSD angepasst wird, ist derzeit noch nicht bekannt. Einen Patch hierfür hat zumindest Ariadne Conill eingereicht, die das Sicherheitsteam der Linux-Distribution Alpine leitet. Demnach wurde die Änderung bereits 2008 erstmals diskutiert. Hier muss aber noch geklärt werden, ob Linux-Anwendungen auf das bisherige Verhalten angewiesen sind. Denn eine Änderung würde dann das Userspace-API des Linux-Kernels verändern, was allgemein nicht umgesetzt werden darf.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


M.P. 28. Jan 2022

Verstehe Dein "Nöö" nicht: Was sind Backports anderes als...

Sybok 27. Jan 2022

Ganz einfach: Hier wurde ja offenbar *nicht* geprüft, ob denn überhaupt zwei Elemente...

Kilpikonna 27. Jan 2022

..., dass die Lücke bis zum zweiten Dienstag nächsten Monats auf ist, weil das zufällig...

Cybso 27. Jan 2022

Ganz böse ausgedrückt: sudo mit XML und Javascript.



Aktuell auf der Startseite von Golem.de
5.000 Fahrzeuge pro Woche
Tesla steigert Giga-Berlin-Produktion und lockt mit Rabatten

Tesla hat Ende März 2023 einen wöchentlichen Ausstoß von 5.000 Fahrzeugen erreicht. Derweil sollen Sonderrabatte Kunden locken.

5.000 Fahrzeuge pro Woche: Tesla steigert Giga-Berlin-Produktion und lockt mit Rabatten
Artikel
  1. 25 Jahre Starcraft: Der E-Sport-Dauerbrenner
    25 Jahre Starcraft
    Der E-Sport-Dauerbrenner

    Vor 25 Jahren erschien mit Starcraft eines der wichtigsten und wegweisendsten Echtzeitstrategiespiele aller Zeiten. Macht der RTS-Hit von Blizzard auch heute noch Spaß?
    Von Andreas Altenheimer

  2. Angeblicher ARD-Plan: Rundfunkbeitrag könnte auf über 25 Euro steigen
    Angeblicher ARD-Plan
    Rundfunkbeitrag könnte auf über 25 Euro steigen

    Laut einem Bericht wollen die öffentlich-rechtlichen Sender eine Anhebung des Rundfunkbeitrags auf bis zu 25,19 Euro pro Monat fordern.

  3. Smart-Home-Anwendung: MQTT unter Java nutzen
    Smart-Home-Anwendung
    MQTT unter Java nutzen

    Wer Daten von Sensoren oder ähnlichen Quellen von A nach B senden möchte, kann das Protokoll MQTT verwenden, dank entsprechender Bibliotheken auch einfach unter Java.
    Eine Anleitung von Florian Bottke

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • MediaMarkt-Osterangebote • 3 Spiele kaufen, 2 zahlen • Cyberport Jubiläums-Deals • Alternate: Corsair Vengeance 32 GB DDR-6000 116,89€ u. 64 GB DDR-5600 165,89€ • MindStar: AMD Ryzen 7 5800X 209€ • MSI Optix 30" WFHD/200 Hz 289€ • WD_BLACK SN850 2 TB 189€ • NBB Black Weeks [Werbung]
    •  /