Microsoft が発見した macOS の脆弱性「Shrootless」 49
発見 部門より
Microsoft が「Shrootless」と呼ぶこの脆弱性は、攻撃者が Mac のシステム整合性保護 (SIP) をバイパスして任意コードの特権実行が可能になるというもの。SIP は非常に強力だが、システムアップデートなど特定のケースではバイパスが必要となるため、Apple はいくつかのエンタイトルメントを用意している。中でも com.apple.rootless.install と com.apple.rootless.install.inheritable は強力で、前者は SIP によるファイルシステムチェックを完全にバイパスし、後者は前者を子プロセスに継承する。
Shrootless 脆弱性はcom.apple.rootless.install.inheritable エンタイトルメントを持つ system_installd デーモンにより引き起こされる。system_installd はApple の署名入りパッケージ (.pkgファイル) をインストールする際に呼び出され、パッケージがポストインストールスクリプトを含む場合、デフォルトシェル zsh を呼び出してスクリプトを実行する。
zsh は起動時に /etc/zshenv ファイルを探し、見つけたらファイル内のコマンドを自動で実行するため、攻撃者は攻撃用のコマンドを記述した zshenv ファイルを作成して待っていればいい。各ユーザープロファイルの ~/.zshenv は zshenv と同じ動作をし、書き込みに特権が必要ないため、より容易な攻撃が可能になるとのこと。
Shrootless 脆弱性は 10 月 25 日リリースの macOS Monterey 12.0.1 / Big Sur 11.6.1 / 2021-007 Catalina で修正されている。