PoC Released: iOS Kernel Flaw Allows File System Modification Without Jailbreak
2025/05/19 SecurityOnline — すでにパッチ適用されたカーネルの脆弱性 CVE-2025-24203 が、Apple エコシステム内のセキュリティ・コミュニティおよびジェイルブレイク・コミュニティで、大きな注目を集めている。この脆弱性は、“dirtyZero“ および “mdc0“ と命名されており、ファイル・システムの保護領域の改変を、アプリに対して許してしまうものだ。したがって、この脆弱性の悪用に成功した攻撃者は、ジェイルブレイクを必要とせずに、システム・カスタマイズの可能性を手にする。

この脆弱性は、Google Project Zero の著名な研究者 Ian Beer により発見/公開されたものであり、iOS/iPadOS のバージョン16.0–16.7.10/17.0–17.7.5/18.0–18.3.2 に重大な影響を及ぼす。
iPadOS 17.7.6 のセキュリティ・アップデートには、「ファイル・システムの保護された部分への、アプリによる改変を許す可能性のある脆弱性に対して、チェックの強化で対応した」と記載されている。

この脆弱性は、Apple のメモリ管理システム内で、あまり注目されてこなかったフラグ ”VM_BEHAVIOR_ZERO_WIRED_PAGES” の動作に起因する。Beer は、「このフラグは、任意の vm_entry に対して、権限チェックなくタスクを設定できる。それにより、entry->zero_wired_pages が設定される」と説明している。
この問題を悪用するアプリは、システム・ファイルをバックアップするメモリのページを、ゼロ化できるようになる。それは、システムのカスタマイズを試みる、攻撃者や開発者にとって、きわめて強力な手段となる。
Ian Beer の技術的レポートの要点:
- 複数の段階で権限チェックが存在しない。
- root 所有の読み取り専用ファイルからのページであっても、ゼロ化が可能である。
- 一般ユーザーがアクセス可能なシステム・コール mlock () を用いることで、root 権限やホスト権限が不要になる。
- この脆弱性の悪用により、vnode pager ファイルからマッピングされたメモリ領域、つまり UBC (Unified Buffer Cache) ページを標的にできる。
PoC (Proof of Concept) がテストされた環境:
- macOS 15.2 (24C101)
- MacBook Pro 13-inch 2019 (Intel)
すでに、この脆弱性は、以下のバージョンで修正されている:
- iPadOS/iOS 17.7.6
- iPadOS/iOS 18.4
それ以前のバージョンを使用している端末は、依然として影響を受ける可能性がある。
ジェイルブレイクを必要としない、この手法は、先行する “MacDirtyCow” エクスプロイトに続き、UI の変更やシステム挙動の調整などを行うカスタマイズ・ツールに利用され始めている。
ただし、一部の愛好家にとっては便利な一方で、アクセスが容易で、権限チェックがないため、悪意のアプリによる不正利用につながるリスクも否めない。
能力の高い研究者の気付きと探求により、また一つ、悪用されると面倒な脆弱性が FIX しました。今回のものは、ジェイルブレイク不要という、とても恐ろしいものでした。iOS に関しては、つい先日の 2025/05/16 にも、「iOS カーネルの脆弱性 CVE-2023-41992:2023年に修正済だが PoC が公開」という記事をポストしています。よろしければ、iOS で検索と併せて、ご参照ください。
You must be logged in to post a comment.