ニュース

macOS High Sierraにパスワードなしで管理者になれる脆弱性

ユーザー名にrootと入れるだけでルートアカウントが有効になるバグ

 macOS High Sierraのバージョン10.13.1に、ユーザーのパスワード入力することなく簡単にルートユーザーになれてしまうバグが発見された。

 このバグを発見したのは、Agile SoftwareのLemi Orhan Ergin氏で、Twitter上でこの問題を報告した。

 このバグの再現は非常に簡単だ。たとえば「システム環境設定」の「ユーザとグループ」の画面で、デフォルトでは一部設定がグレーアウトして変更できず、画面下にある「変更するにはカギをクリックします。」をクリックする必要がある。ここで本来、ユーザーのパスワードを入力しなければならないが、ユーザー名に「root」と入力しパスワードを空欄のまま、「ロックを解除」をクリックすると、ルートユーザーが有効になってしまい、項目が変更できるようになってしまう。「日付と時刻」の設定画面でも同じだ。

 リモートでできるというわけではないので、あくまでもMacの前で操作しなければならないわけだが、攻撃者は、ユーザーが不在のときに、自分のアカウントを作成したりユーザーのアカウントを削除するといった行為が可能になってしまう。

 macOS High Sierraの標準では、ルートユーザーが無効になっているが、この手法でを使うと、たとえルートユーザーを無効にしても、結局同じ手法で再有効化できてしまうため、現時点ではルートユーザーのパスワードを変更する以外回避手段がない。

 ルートユーザーのパスワードを変更するためには、「ユーザとグループ」で変更を有効にしてから、「ログインオプション」の「ネットワークアカウントサーバ:接続」ボタンを押し、出てきたダイアログで「ディレクトリユーティリティを開く...」を押す。この「ディレクトリユーティリティ」で再度変更を有効にしてから、メニューの「編集」から「ルートパスワードを変更...」で変更を行なう。

 問題が完全に解消されるまで、Macは目の届く範囲に置いておくほうが無難だろう。

「ユーザとグループ」でネットワークアカウントサーバ:「接続」のボタンを押す
ダイアログで「ディレクトリユーティリティを開く...」を押す
ディレクトリユーティリティが開いたら、メニューから「ルートパスワードを変更...」を押して変更しておこう