Ubuntu-Sicherheitslücke: Snap und Root!

Über einen Trick kann ein Angreifer Ubuntus Paketverwaltung Snap vorgaukeln, dass ein normaler Nutzer Administratorrechte habe - und damit wirklich einen Nutzer mit Root-Rechten erstellen.

Artikel veröffentlicht am ,
Normaler User oder Admin? Die Paketverwaltung Snap lässt sich überlisten.
Normaler User oder Admin? Die Paketverwaltung Snap lässt sich überlisten. (Bild: congerdesign/Pixabay)

Über eine Sicherheitslücke in Ubuntus selbstentwickeltem Paketsystem Snap können Angreifer Root-Rechte erlangen. Der Sicherheitsforscher Chris Moberly hat die Lücke entdeckt und nennt sie Dirty_Sock, in Anlehnung an eine ähnliche Schwachstelle im Linux Kernel mit dem Namen Dirty Cow. Im Unterschied zu den bisher von Ubuntu verwendeten Debian-Paketen werden die Snap-Apps (Snaps) komplett mit allen Abhängigkeiten gepackt. Moberly hatte die Sicherheitslücke im Januar entdeckt und an den Ubuntu-Sponsor Canonical gemeldet. Dieser hat ein Update von Snapd, dem Hintergrunddienst, über den die Snaps verwaltet werden, veröffentlicht. In Version 2.37.1 wurde die Sicherheitslücke geschlossen.

Anders als die bisher von Ubuntu verwendeten Debian-Pakete werden die Snap-Apps komplett mit allen Abhängigkeiten gepackt. Der Dienst Snapd läuft mit Administratorrechten und kann Befehle als Root ausführen, beispielsweise neue Nutzer erstellen. Damit diese ebenfalls nur von einem Benutzer mit Root-Rechten ausgeführt werden können, überprüft Snapd, ob es sich bei dem Nutzer um Root handelt. Allerdings konnte Moberly die Benutzer-ID seines Nutzers gegen die des Root-Nutzers austauschen und so Befehle mit Root-Rechten ausführen und beispielsweise einen neuen Nutzer anlegen. Dies bewerkstelligt er, indem er einen Socket, also eine Schnittstelle, über welche Daten mit einem Programm ausgetauscht werden können, mit dem Namen sock;uid=0; erstellt und diesen mit Snapd verbindet. Die übergebene UID 0 ist die Root-Benutzer-ID. Diese wird von Snapd übernommen; es lassen sich Befehle als Root ausführen.

Um die Lücke ausnutzen zu können, muss ein Angreifer bereits Zugriff auf ein Ubuntu-System haben. Beispielsweise kann ein Benutzer in einem Multi-User-System Root-Rechte erlangen und das Betriebssystem kontrollieren sowie die Daten der anderen Nutzer einsehen und verändern. Ein anderes Beispiel ist die Kombination mehrerer Sicherheitslücken, das sogenannte Chaining. Mit einer Sicherheitslücke gelangt ein Angreifer auf das System, mit einer weiteren erlangt er Root-Rechte.

Python-Scripts veröffentlicht

Moberly hat zwei Methoden entwickelt, um Code als Root auszuführen. Zu beiden Methoden hat er Proof-of-Concept-Python-Scripts auf Github veröffentlicht. In einer ersten Variante verwendet er die create-user-API von Snapd. Um diese auszunutzen, benötigt er jedoch eine Internetverbindung und das Programm adduser, um einen neuen Benutzer zu erstellen. Manche Linux-Distributionen verwenden jedoch das Programm useradd anstatt adduser - seine erste Methode funktioniert dann nicht mehr. Um noch mehr Fälle abzudecken, entwickelte er eine zweite Methode, bei der er ein Snap-Paket im "devmode" erstellt, bei welchem er ein Bash-Script ausführen kann. Dieses dient jedoch nur als Vehikel, um den Code zu transportieren, auch hier nutzt er die oben genannte Sicherheitslücke aus.

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


Aktuell auf der Startseite von Golem.de
Wissenschaft
Wer soll an den Lithium-Luft-Akku glauben?

Forschungsergebnisse zu Akkutechnik sind in Wissenschaftsjournalen, der Wissenschaftskommunikation und Medien zu einer Frage des Vertrauens geworden. Zweifel sind oft angebracht - wie sich aktuell wieder zeigt.
Von Frank Wunderlich-Pfeiffer

Wissenschaft: Wer soll an den Lithium-Luft-Akku glauben?
Artikel
  1. Inkpad 4: Pocketbook bringt neuen E-Reader mit Vorlesefunktion
    Inkpad 4
    Pocketbook bringt neuen E-Reader mit Vorlesefunktion

    Das Inkpad 4 kommt mit einem Carta-Display von E-Ink und hat mehr Speicher als das Vorgängermodell Inkpad 3.

  2. Nachfolger von Windows 11: Weitere Infos zu Windows 12 tauchen auf
    Nachfolger von Windows 11
    Weitere Infos zu "Windows 12" tauchen auf

    Microsoft arbeitet stets weiter an einer neuen Version von Windows. Die wird an einigen Stellen schon jetzt als Windows 12 bezeichnet.

  3. Valves Spieleplattform: Ab 2024 funktioniert Steam nicht mehr auf Windows 7
    Valves Spieleplattform
    Ab 2024 funktioniert Steam nicht mehr auf Windows 7

    Im nächsten Jahr funktioniert Steam auf älteren Windows-Versionen nicht mehr. Das liegt nicht nur an Valve.

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 • Nur noch heute: Amazon Frühlingsangebote • MindStar: MSI RTX 4080 1.249€, Powercolor RX 7900 XTX OC 999€ • Fernseher Samsung & Co. bis -43% • Monitore bis -50% • Bosch Prof. bis -59% • Windows Week • Logitech bis -49% • Alexa-Sale bei Amazon • 3 Spiele kaufen, 2 zahlen [Werbung]
    •  /