Steam for Linuxに「rm -rf "/"」を実行する超弩級のバグが発見される

Command

SteamのLinux用クライアント「Steam for Linux」に含まれるスクリプトに「rm -rf "/"」を予期せず実行してしまう超弩級の不具合が発見され話題となっています(バグレポートNeowinslashdotslashdot日本版)。

この不具合はユーザーがある特定の操作を行った時に発動するもので、具体的にはユーザーのSteamフォルダ「~/.local/share/steam」を別のドライブに移動したタイミングで、ルート以下の全てのファイルが削除されてしまう現象を指しています。

NewImage

GithubユーザーTcM1911さんらの調査により、フォルダ移動後は$STEAMROOTが空の状態となるため、「rm -rf "$STEAMROOT/"*」が「rm -rf "/"*」に展開されることが不具合の原因と判明しました。すでにスクリプトの修正方法の議論が始まっています。

少し状況はことなりますが、CFBundleDisplayNameが空白の状態のアプリを削除すると「~/Library/Application Support」が消えてしまったLaunchPadの不具合を思い出します。

「rm -rf "/"」はUNIX管理者/使用者の悪夢といいますが、シェルスクリプトやプログラムから「rm -rf」を呼び出すときも良くチェックしないと酷いことになるようです。気をつけましょう。

スポンサーリンク