Microsoft が発見したmacOSの脆弱性「Shrootless」

2021年11月1日 11:39

Apple が先日修正した macOS の脆弱性 (CVE-2021-30892) について、発見者の Microsoft が解説している (Microsoft Security Blog の記事Neowin の記事Ars Technica の記事The Register の記事)。

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 で修正されている。 

関連記事

最新記事