CVE-2025-31200 および CVE-2025-31201 | iMessage ゼロクリック RCE チェーン
概要
このリポジトリは、iOS 18.x 以降に影響を与えるゼロクリックリモートエクスプロイトチェーンに関する研究を文書化しています。iMessage を介して配信される不正な AMR オーディオファイルが以下を引き起こします:
- CoreAudio のヒープ破壊 (CVE-2025-31200) — AudioConverterService AMR 12.2 デコードにおける、有効な FT=7 フレーム全体に埋め込まれた不正なビットストリームパラメータによる。
- AppleBCMWLAN/AMPDU 処理によるカーネル権限昇格 (CVE-2025-31201) — RPAC バイパスにより完全なカーネル読み取り/書き込みを実現。
- BCM4387 共存 SRAM によるハードウェアピボット (CVE 保留中) — カーネル R/W を使用して、IOMMU 境界より下の Broadcom Wi-Fi/BT 共存 SRAM に直接書き込み、OS の介入なしに Bluetooth コントローラに HCI コマンドを注入。
ピボット後のテストでは、CryptoTokenKit の署名操作の悪用が観察されました — 偽装された Bluetooth アイデンティティを介して、インタラクティブなプロンプトなしで Secure Enclave バックアップキーを呼び出します。Apple は iOS 18.4.1 で CVE-2025-31200 および CVE-2025-31201 を修正しました。BCM4387 共存ブリッジは、いずれの iOS バージョンでも未修正のままです。
確認された動作
- CVE-2025-31200 (CoreAudio) — 有効な FT=7 フレーム内の不正なビットストリームパラメータによる AudioConverterService AMR 12.2 デコーダのヒープ破壊。50 フレーム全体で 189 のパラメータ違反。ピッチラグ最大 248(法的最大値 143 に対し)。210 バイトのヒープオーバーフロー。ゼロクリック、ユーザー操作不要。
- CVE-2025-31201 (AppleBCMWLAN) —
parseAggregateFrame における AMPDU サブフレーム長の混乱によるカーネル権限昇格。署名付きポインタを偽造せずに PAC バイパスを達成。影響を受けるデバイス/ビルドで完全に再現可能。
- BCM4387 共存ブリッジ (未修正) — カーネル R/W を使用して、
0x1173FF の IOMMU 保護境界より 0x5400 バイト下にある 0x102000 の BCM4387 共存 SRAM に直接書き込み。HCI コマンドを Bluetooth コントローラに直接注入。CVE 未割り当て。iOS バージョンに関係なく、すべての iPhone 13–16 で未修正。
- ゼロクリック配信ベクター — デバイスがロックされている間に iMessage によって処理される悪意のある AMR オーディオ。コーデックビットストリームパラメータにエクスプロイトペイロードを含む有効なコンテナ構造を介して BlastDoor をバイパス。
観察された侵害後の動作
- 不正な署名: CryptoTokenKit /
identityservicesd が、偽装された Bluetooth アイデンティティを介して Auto-Unlock 評価をトリガーし、侵害されたコンテキストから UI プロンプトなしで署名操作を呼び出しました (Secure Enclave キーマテリアルはエクスポートされていません)。
- システムの不安定性: メディアデコードの失敗が、PME 強制ログ、GPU/AppleDCP リンクエラー、
mediaplaybackd のバリアントスイッチループ、および時折の launchd/SoC ストールと相関。
- 伝播条件: AWDL 全体でのピアトークンの再利用が観察されました。トークンキャッシュが存続する場合、クロスデバイスリスクの可能性。
影響範囲
- 影響を受ける: iOS 18.4 以下 (CVE-2025-31200, CVE-2025-31201); iOS バージョンに関係なくすべての iPhone 13–16 (BCM4387 ハードウェアベクター)
- 修正済み: iOS 18.4.1 (2025年4月16日) — CVE-2025-31200, CVE-2025-31201 を修正
- 未修正: BCM4387 共存 SRAM — CVE なし、ファームウェアアップデートなし、すべての iPhone 13–16 に影響
- ベクター: 既知の送信者からのゼロクリック iMessage/SMS (BlastDoor/Blackhole をバイパス)
- 主要コンポーネント: AudioConverterService (CoreAudio AMR デコーダ) → AppleBCMWLAN.dext (カーネル権限昇格) → BCM4387 共存 SRAM (ハードウェアピボット)
- 必要な権限: なし (初期); チェーン後にカーネルを達成
- 影響の概要: 完全性 (不正な署名、トークン/デバイスのなりすまし) + 機密性 (AGX フレームバッファキャプチャ、HID 監視) + 可用性 (システムストール)
開示のタイムライン
- Apple に報告: 2024年12月20日
- Apple および US-CERT に再報告: 2025年1月21日 (追跡 ID: VRF#25-01-MPVDT)
- Google Project Zero / 研究チームと共有: 2025年4月11日
- Apple による修正 (CVE-2025-31200, CVE-2025-31201): 2025年4月16日 (iOS 18.4.1)
- CVE 割り当て: CVE-2025-31200 および CVE-2025-31201
- CISA KEV リスト掲載 (両方の CVE): 2025年4月16日 — 連邦政府のパッチ期限 2025年5月8日
- BCM4387 共存 SRAM を Broadcom PSIRT に提出: 2026年3月 — CVE 未割り当て、パッチ未発行
影響声明
このチェーンをリモートでトリガーする攻撃者は以下を達成できます:
- カーネルレベルの侵害
- Secure Enclave 署名プリミティブのランタイム乗っ取り
- デバイスアイデンティティのなりすまし
- アイデンティティに紐付いたトークンの偽造
- 利用可能な iOS アップデートでは対処されていないハードウェアレベルの Bluetooth ピボット
深刻度: 致命的 (CVSS 3.1 チェーン対応 10.0)
運用リスク: 高; BCM4387 ハードウェアピボットはすべての iPhone 13–16 で未修正; 感染が確認されたデバイスには利用可能な修復パスがありません。
関連研究
推奨事項
- BlastDoor / 添付ファイル検査をすべてのメッセージに適用。送信者メタデータに基づいてバイパスしない。コンテナフレーム構造だけでなく、コーデックビットストリームパラメータにも検証を拡張。
- AMR ピッチラグ、LSF 係数、コードブックインデックスを含むすべてのデコーダパラメータに対して、3GPP TS 26.090 の法的範囲に対する厳格な入力検証を適用。
- CryptoTokenKit / Secure Enclave 署名操作のランタイムアテステーションを実装し、呼び出し元の整合性とエンタイトルメントを検証。
- ワイヤレスドライバサーフェスと IOKit エントリポイントを不正なカーネルデータに対して強化。AppleBCMWLAN での AMPDU サブフレーム長の処理を監査。
- BCM4387 IOMMU 保護境界を拡張して共存 SRAM 領域 (
0x102000–0x1173FF) をカバー。iOS アップデートインフラ経由で配布される Broadcom ファームウェアアップデートが必要。
identityservicesd / ctkd の異常、および予期しない SafariSafeBrowsing アクティビティについてシステムログを監視。
- デバイスの整合性評価には ZombieHunter および Citizen Lab MVT を使用。
ライセンスと免責事項
防御的研究およびさらなる研究のために公開。