最新のmacOSで誰でも管理者権限を持ったユーザーとしてログインできてしまう、最悪のバグが見つかってしまいました。
Macユーザーで「High Sierra」を使ってる方は、この記事を読んだらすぐに対処法を実施してください!
パスワードなしで最大権限を持つスーパーユーザーでログイン可能
今回見つかったバグを発見したのは、Software Craftsmanship TurkeyのファウンダーであるLemi Orhan Ergin氏。
彼が投稿した内容は、「root」アカウントでパスワードなしでログインできてしまうというもの。
Dear @AppleSupport, we noticed a *HUGE* security issue at MacOS High Sierra. Anyone can login as "root" with empty password after clicking on login button several times. Are you aware of it @Apple?
— Lemi Orhan Ergin (@lemiorhan) 2017年11月28日
これがどれだけまずいかというと、パスワードなしでログインできてしまうのも確かに問題なのですが、それが「root」アカウントである点。
「root」アカウントって何?という方に補足説明すると、Appleのサポートの説明ページによれば、以下の様に解説されています。
「ルート (root)」という名前のユーザアカウントは、ほかの macOS ユーザアカウントのファイルなど、システムの普通ならアクセスできない広い領域に対する読み書き権限を持つスーパーユーザです。
引用元:Apple サポート
いわゆる何でもできる権限を持ったアカウントということで、この権限を持った状態でログインできてしまうということで、さすがにこれはまずい…。
具体的には、目の前に開きっぱなしのMacがあったとしましょう。この状態でも基本的な操作はできるものの、重要な変更を行う場合にはパスワードの入力が求められるんですよね。
例えばユーザー管理をする「ユーザーとグループ」などでは左下の鍵をクリックして、
パスワードを入力しないと、追加や削除、パスワードの変更はできない訳です。
それが先ほど見つかったバグにならって、ユーザー名を「root」に書き換えて、
パスワードは入力せずに「ロックを解除」を押すと、あら不思議そのままロックが解除されちゃうじゃありませんか…。
こうなったら、現在ログインしているユーザーのパスワードを変更したり、ユーザーの削除なんてのも自由自在。いじれるのはここだけじゃないので、セキュリティの設定変更なんてのもできてしまう訳です。
なんとも簡単すぎる手順で、再現する為に試したらあっさりできてしまい逆にこっちがびっくりするレベルでしたよ。
このバグの対象はmacOS High Sireaの10.13と10.13.1のようで、該当ユーザーの方は今すぐこれから説明する対処法を実施してください。
「root」ユーザーログインバグの対処法
さて内容が分かったところで怖いのでさっさと対処してきます。
まずはシステム環境設定の「ユーザーとグループ」を開き、左下の鍵マークをクリックしてパスワードを入力してロックを解除。
続いて「ログインオプション」をクリックして、右側の「ネットワークアカウントサーバ」の横にある「接続」をクリックします。
すると別ウインドが開くので「ディレクトリユーティリティを開く…」をクリック。
ディレクトリユーティリティアプリが起動するので、メニューの編集から「ルートユーザを有効にする」を選択。
※画像ではすでにバグのテストでパスワードを入力してていたので、「パスワードの変更」と「ルートユーザーを無効にする」が表示されています。この場合はパスワードを変更を選びます。
ここで新たに独自のパスワードを設定すれば対策は完了です。
これでもう「root」ユーザーであっても先ほどのように空白でロックを解除されるようなことはなくなりました。
それにしてもスーパーユーザーの権限を持つ「root」アカウントが、パスワードなしでログインできてしまうバグを見逃してしまうなんてこともあるんですね…。
おそらく近々このバグに対するアップデートが配信されるとは思いますが、少なくともそれまでは上記対策を忘れずにしておくようにして下さい。