Zum Hauptinhalt Zur Navigation

Valve: Steam umgeht Löschen-Bug unter Linux

Valve stellt ein erstes Update für den Fehler in Steam bereit, der zum Löschen sämtlicher Nutzerdaten unter Linux führen konnte. Dieser Patch ist aber eher ein schlechter Hack als eine tatsächliche Lösung.
/ Sebastian Grüner
61 Kommentare News folgen (öffnet im neuen Fenster)
Die eher einfache Überprüfung im Code des betroffenen Shell-Skripts (Bild: Valve/Screenshot: Golem.de)
Die eher einfache Überprüfung im Code des betroffenen Shell-Skripts Bild: Valve/Screenshot: Golem.de

Die aktuelle Version von Steam(öffnet im neuen Fenster) enthält unter Linux ein Update für einen "seltenen Fehler" , bei dem Steam unter bestimmten Umständen sämtliche Nutzerdaten gelöscht hat . Wie bereits vermutet, liegt ein Teil der Ursache für den Fehler in einem Shell-Skript, das Valve nun um eine Vorsichtsmaßnahme erweitert hat. Die Umsetzung spricht aber nicht für die Kenntnisse und Fähigkeiten Valves.

Nach der Diskussion in dem ursprünglichen Bugreport auf Github(öffnet im neuen Fenster) ist der eigentliche Verursacher für den Fehler die Zeile rm -rf "$STEAMROOT/"* in einem Shell-Skript. Ist die Variable STEAMROOT beim Ausführen des Skripts nicht mit einem Wert versehen, wird stattdessen wohl rm -rf "/"* ausgeführt, was zum Verlust sämtlicher privater Daten führen kann. In der aktuellen Version überprüft das Skript deshalb unmittelbar zuvor, ob die Variable gesetzt ist.

Umsetzung wird kritisiert

Doch einige Kommentatoren(öffnet im neuen Fenster) halten auch diese Vorkehrung für eher schlecht umgesetzt. Schließlich werden weder der Inhalt des Ordners noch die zu löschende Dateien überprüft: Es wird hingegen sofort gelöscht, falls die Variable gesetzt ist. Diese Variable könnte jedoch zumindest theoretisch auch weiterhin das Wurzelverzeichnis sein oder jedes andere, so dass deren sämtliche Inhalte gelöscht werden könnten.

Umgehen ließe sich dies etwa(öffnet im neuen Fenster) , indem das Skript ausschließlich vordefinierte und vor allem nur Steam-eigene Dateien entfernt statt einfach den gesamten Ordnerinhalt. Außerdem könnte eine umfangreichere Überprüfung zu der Struktur desjenigen Verzeichnisses durchgeführt werden, welches über diese Variable definiert ist.

Vermutlich ist aber auch der Auslöser für diesen Fehler noch nicht endgültig gefunden. Denn warum die nun durch die einfache Abfrage geschützte Funktion überhaupt mit einer nicht gesetzten Variablen ausgeführt worden ist, scheint noch unklar. Dem Bericht zufolge könnte dies aber mit dem Verschieben des Steam-Ordners zu einer anderen Position sowie mit einem Absturz der Software in Verbindung stehen. Ob dem wirklich so ist, lässt sich derzeit aber nur vermuten.


Relevante Themen