1 ポイント 投稿者 GN⁺ 2024-09-14 | 1件のコメント | WhatsAppで共有
  • 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件のコメント

 
GN⁺ 2024-09-14
Hacker Newsの意見
  • 大手テック企業が報奨金を支払わない場合、正当な理由がある可能性が高い

    • 報奨金プログラムは正当な提出に対して報奨金を支払うよう設計されている
    • 報奨金を支払わないのはプログラムの目的に反する
    • プログラム運営チームは、より多くの報奨金を支払うよう動機づけられている
  • iCloud Photo Libraryは使っていないが、写真ライブラリの場所を変更すると新しい場所が保護されないのは奇妙だ

    • システム写真ライブラリを変更した後は、Photosアプリがそのディレクトリを保護すべきだ
    • Sonoma 14.6.1システムで試したところ、新しい写真ライブラリを ~/Pictures に作成するとアクセスは拒否された
    • しかし /tmp に作成するとアクセスが許可された
    • Appleが写真ライブラリをファイルシステム上のどこへでも移動できる機能をサポートするなら、適切な保護を適用すべきだ
  • 隔離フラグを操作する別の方法もある

    • あまりにも多くのシステムが、これらのフラグを変更できる能力を持っている
  • 最初の段階そのものが深刻な脆弱性だ

    • 攻撃者はATTACHセクションに任意のパスを設定して、ディレクトリトラバーサル攻撃を実行できる
  • 攻撃者は悪意のあるカレンダー招待を通じて、被害者のiCloud Photosを盗める

    • macOSユーザーが誰にでも無作為に招待を送れるのか気になる
  • 攻撃者が指定したファイルがすでに存在する場合は、"PoC.txt-2"として保存される

    • 後でイベント/添付ファイルが削除されると、元のファイルが削除される
    • この脆弱性は、ファイルシステム上の既存ファイルを削除するのに使える可能性がある
  • 報奨金の扱いが気に入らない

    • セキュリティ研究者にとって、Appleや他のFAANG企業でこれほど長く待たされるのは普通なのか気になる
  • メモリ安全性ではないセキュリティ脆弱性が発生するたびにワクワクする

    • Rustに投じられた時間と労力が、パストラバーサルのバグによって無駄になると思うと楽しい
  • Lockdown Modeがこれを防げるのか気になる

  • かなり古いエクスプロイトだ

    • ファイル名にパスが含まれている件を、10年ほど前に読んだ記憶がある