- macOS Calendarでゼロクリック脆弱性が発見された
- 攻撃者はCalendarのサンドボックス環境内で任意のファイルを追加または削除できる
- 悪意あるコード実行やセキュリティ保護の回避と組み合わせることで、ユーザーの機密性の高いiCloud Photosデータを侵害できる
- Appleは2022年10月から2023年9月の間にすべての脆弱性を修正した
脆弱性の詳細
第1段階: Calendarの任意ファイル書き込みおよび削除脆弱性 (CVE-2022-46723)
- 攻撃者は悪意のあるカレンダー招待にファイル添付を含めることができる
- 添付ファイルのファイル名が適切に検証されない
- ATTACHセクションに任意のパスを設定してディレクトリトラバーサル攻撃を実行できる
- 例: “FILENAME=../../../PoC.txt”
- ファイルは ~/Library/Calendar/PoC.txt に追加される
- ファイルがすでに存在する場合は “PoC.txt-2” として保存される
- 攻撃者が送信したイベント/添付ファイルが削除されると、元のファイル(PoC.txt)が削除される
- この脆弱性はファイルシステム内の既存ファイルを削除するために悪用できる
- 脆弱性はmacOS Monterey 12.5に存在する。macOS 13.0 beta4では脆弱ではない
第2段階: 任意ファイル書き込み脆弱性を利用したリモートコード実行 (RCE) の獲得
- macOS Venturaのリリース直前に発見された
- macOSのバージョンアップグレードプロセスを利用し、CalendarのOpen File機能を通じてリモートコード実行を獲得できる
- 複数のファイルを感染させてRCEエクスプロイトをトリガーする
注入されたファイル #1: 000Hacked-$RANDOM.calendar
- Siriが提案したカレンダーデータのように見えるカレンダーデータを含む
- 繰り返しイベントおよびアラート機能を含む
注入されたファイル #2: CalendarTruthFileMigrationInProgress ファイル
- 既存のカレンダーを新しいデータベースにアップグレードしてマージする
注入されたファイル #3: CalPoCInit.dmg
- カレンダーイベントに含まれるアラートがファイルを開く
- CalPoCInit.dmg には外部Sambaサーバーを指す参照が含まれる
注入されたファイル #4: stage1.url
- カレンダーイベントに含まれる2番目のアラートがファイルを開く
- Sambaマウント上のアプリケーションを指すURLを含む
注入されたファイル #5: stage2.url
- カレンダーイベントに含まれる3番目のアラートがファイルを開く
- ユーザー操作なしで悪意あるアプリケーションを実行する
第3段階: 機密性の高いPhotosデータへのアクセス
- Photosの構成を変更してiCloudに保存された写真にアクセス可能
- TCC保護を回避して機密性の高いユーザーデータを流出させることができる
Photos構成変更によるiCloudファイルアクセス
- 攻撃者はPhotosのSystem Photo Libraryを別のパスに設定する構成ファイルを作成する
- PhotosPoC.sh を実行すると新しい構成ファイルが読み込まれる
- 元の構成はバックアップされ、新しい構成は /var/tmp/mypictures/ に保存される
- 新しいSystem Photo LibraryでPhotosを実行し、iCloud同期を有効にする
全体のチェーン
- 複数の段階を経てmacOSのあらゆるセキュリティ障壁を突破する必要がある
- サンドボックスを回避し、SMBトリックを使ってGatekeeperの緩和策を回避する
- TCC保護を回避して機密データにアクセス可能
タイムライン
- 2022-08-08: Calendarサンドボックスでの任意ファイル書き込みおよび削除を報告
- 2022-10-24: macOS Monterey 12.6.1 および Ventura 13で修正
- 2022-11-14: PoCを送付、Calendar脆弱性を利用した任意コード実行方法
- 2022-12-04: PoCを送付、iCloud写真へのアクセス方法
- 2023-02-20: CVE-2022-46723 のクレジットおよびCVE追加
- 2023-03-27: macOS Ventura 13.3でGatekeeper回避を修正
- 2023-09-26: CVE-2023-40434 Photos脆弱性の修正およびクレジット
- 2023-10-09: Gatekeeper回避およびPhotos脆弱性に関するバグバウンティを発表
- 2023-12-21: CVE-2023-40433 Gatekeeper回避のクレジット
GN⁺のまとめ
- この記事はmacOS Calendarのゼロクリック脆弱性を扱っており、これを通じて攻撃者がユーザーの機密性の高いiCloud Photosデータにアクセスできる方法を説明している
- 脆弱性チェーンは複数の段階を経てサンドボックスを回避し、GatekeeperおよびTCC保護を回避して、リモートコード実行と機密データへのアクセスを可能にする
- この記事はセキュリティ研究者およびmacOSユーザーに重要な情報を提供し、Appleがこれらの脆弱性を修正したことを強調している
- 類似機能を持つ別のプロジェクトとしては、Google Calendarのような他のカレンダーアプリケーションがある
1件のコメント
Hacker Newsの意見
大手テック企業が報奨金を支払わない場合、正当な理由がある可能性が高い
iCloud Photo Libraryは使っていないが、写真ライブラリの場所を変更すると新しい場所が保護されないのは奇妙だ
隔離フラグを操作する別の方法もある
最初の段階そのものが深刻な脆弱性だ
攻撃者は悪意のあるカレンダー招待を通じて、被害者のiCloud Photosを盗める
攻撃者が指定したファイルがすでに存在する場合は、"PoC.txt-2"として保存される
報奨金の扱いが気に入らない
メモリ安全性ではないセキュリティ脆弱性が発生するたびにワクワクする
Lockdown Modeがこれを防げるのか気になる
かなり古いエクスプロイトだ