
Technische Analyse und Proof-of-Concept für CVE-2025-6019, eine lokale Privilegienausweitungsschwachstelle in libblockdev und udisks2, die Root-Zugriff durch präparierte XFS-Images ermöglicht.
CVE-2025-6019 ist eine Sicherheitslücke zur lokalen Privilegienausweitung (LPE) in der Bibliothek libblockdev, die mit dem udisks2-Daemon und Polkit zusammenwirkt.
Ein lokaler Angreifer mit der Polkit-Berechtigung allow_active (normalerweise der tatsächliche Benutzer des Computers) kann die Art und Weise ausnutzen, wie libblockdev mit dem udisks-Daemon interagiert. Der Angreifer kann ein bösartiges XFS-Image erstellen, das eine SUID-root-Shell enthält, und udisks dazu verleiten, dieses Image ohne die Sicherheitsflags wie nosuid und nodev zu mounten. Dadurch kann der Angreifer die SUID-root-Shell ausführen und vollständige Root-Rechte auf dem System erlangen.
Der gesamte Angriffsablauf kann in drei Phasen unterteilt werden: Vorbereitung, Übertragung und Auslösung. Das bösartige Image kann dabei auf jedem System vorbereitet werden.
Vorbereitungsphase (auf dem eigenen Rechner des Angreifers): Der Angreifer erstellt mit Standard-Linux-Werkzeugen (z. B. mkfs.xfs) ein XFS-Dateisystem-Image. In dieses Image legt er ein vorkompiliertes, bösartiges Programm mit SUID-Berechtigung (z. B. eine Backdoor-Shell). Das Image selbst ist die „Angriffslast (Payload)“.
Übertragungsphase: Der Angreifer muss das erstellte bösartige Image auf das Zielsystem übertragen. Dafür gibt es viele Möglichkeiten, z. B. Herunterladen über wget, USB-Stick oder das Ausnutzen anderer Schwachstellen auf dem Zielsystem, um die Datei hochzuladen.
Auslösephase (auf dem Zielsystem): Der entscheidende Schritt des Angriffs findet auf dem Zielsystem statt. Der Angreifer nutzt die Sicherheitslücke CVE-2025-6019 aus, um den udisks2-Dienst auf dem Zielsystem dazu zu verleiten, das bösartige Image zu mounten. Aufgrund der Sicherheitslücke fügt udisks2 beim Mounten die notwendigen Sicherheitsflags (wie nosuid) nicht hinzu.
Privilegienerweiterungsphase: Sobald das Image unsicher eingehängt wurde, wird das darin enthaltene bösartige Programm mit SUID-Berechtigung ausführbar und erbt bei der Ausführung die root-Rechte, sodass der Angreifer Erfolg hat.
Fazit: Das Image ist lediglich ein „Container“ mit einem bösartigen Programm; wo es erstellt wird, spielt keine Rolle. Wichtig ist, wie das Zielsystem diesen Container „behandelt“.
Der CVSS 3.1-Basiswert dieser Sicherheitslücke beträgt 7,0 und ist damit als hoher Schweregrad eingestuft.
Eine erfolgreiche Ausnutzung dieser Sicherheitslücke könnte dazu führen, dass der Angreifer die vollständige Kontrolle über das betroffene System erlangt.
Die meisten Linux-Distributionen, die die Dienste libblockdev und udisks2 verwenden, sind betroffen, darunter Ubuntu, Debian, Fedora und openSUSE.
polkit-Regel org.freedesktop.udisks2.modify-device von yes auf auth_admin zu ändern.Diese Sicherheitslücke kann manchmal in Kombination mit einer weiteren Sicherheitslücke CVE-2025-6018 ausgenutzt werden, die in einigen Distributionen verwendet werden kann, um remote die allow_active-Berechtigung zu erlangen.
Diese Sicherheitslücke verdeutlicht auch, wie Linux-Fehler softwaredefinierte Fahrzeuge betreffen können, die Automotive Grade Linux (AGL) verwenden.