Microsoft が詳述:Apple iOS/macOS のサンドボックス・エスケープの脆弱性

Microsoft Details App Sandbox Escape Bug Impacting Apple iOS, iPadOS, macOS Devices

2022/07/14 TheHackerNews — 水曜日に Microsoft は、Apple の OS に影響を及ぼすセキュリティ脆弱性 (パッチ適用済み) について詳細を明らかにした。この脆弱性の悪用に成功した攻撃者は、対象デバイスで特権へ昇格し、マルウェアを展開できるようになる。Microsoft 365 Defender Research Team の Jonathan Bar Or は、「攻撃者は、このサンドボックス脱出の脆弱性を悪用し、影響が生じるデバイス上で昇格した特権を取得し、悪意のコマンド実行により、追加のペイロードをインストールできる」と記述している

この脆弱性 CVE-2022-26706 (CVSS:5.5) は、iOS/iPadOS/macOS/tvOS/watchOS に影響を与えるものであり、Apple により 2022年5月に修正されている。

Apple は、「LaunchServices (launchd) コンポーネントに影響を及ぼすアクセスの問題であり、サンドボックス化されたプロセスが、サンドボックス制限を回避する可能性がある」と指摘し、追加の制限で問題を緩和したと付け加えている。

Apple の App Sandbox は、サードパーティ・アプリによる、システムリソースやユーザーデータへのアクセスを厳しく規制するように設計されているが、この脆弱性により、これらの制限を回避してマシンを危険にさらすことが可能になっている。

Microsoft : Illustration of a sandboxed app

Apple は、「サンドボックスの主な機能は、侵害されたアプリをユーザーが実行した場合に、システムとユーザーのデータへの損傷を抑制することだ。このサンドボックスにより、ユーザー・アプリに対する攻撃を防ぐことはできないが、アプリが正常に機能するために必要な、最小限の特権のセットに制限することで、攻撃の成功による損害を低減できる」とドキュメントで説明している。

Microsoft は、特別に細工した Microsoft Office マクロに悪意のコードを隠すことで、このサンドボックスから逃れ、macOS 上で任意のコマンドを実行する方法を探している最中に、この脆弱性を発見したと述べている。

具体的には、Microsoft が考案した、コンパクトな PoC エクスプロイトを見てほしい。不正な命令を含む Python ペイロード上で、open コマンド (ファイル・オープン/アプリ起動のためのユーティリティ) を実行する手段として、Launch Services が利用されている。

Microsoft : Sample minimal POC exploit code

さらに、サンドボックス化されたアプリがドロップしたファイルには、自動的にcom.apple.quarantine という拡張属性が付与され、実行前にユーザーの明示的な同意を求めるプロンプトが表示されることは、注目すべき点である。しかし、この制約は、Python エクスプロイト・ファイルに関連付けられた、open コマンドに -stdin オプションを適用することで解消されてしまう。

Bar Or は、「Python は、標準入力のコンテンツが、隔離されたファイルに由来することを知る方法がないため、-stdin は com.apple.quarantine 拡張属性の制約をバイパスする」と述べている。

この脆弱性 CVE-2022-26706 について、お隣のキュレーション・チームに聞いてみたところ、文中にあるように。5月19日に iOS/iPadOS/macOS/tvOS/watchOS への対応が完了しているとのことです。Python の標準入力に関する説明の部分が、とても気になりますね。これは、Apple の脆弱性ですが、この問題を発見した Microsoft も、インターネットからダウンロードした、Office ファイルの VBA の取り扱いで悩んでいます。このあたりは、ユーザー側の運用も絡んでくるので難しいところですね。