Apple Archive の脆弱性 CVE-2024-27876 が FIX:任意のファイル書込と Gatekeeper バイパスと PoC

CVE-2024-2787: Apple Archive Flaw Enables Arbitrary File Write and Gatekeeper Bypass, PoC Releases

2025/04/25 SecurityOnline — Apple 独自の libAppleArchive ライブラリで発見された、脆弱性 CVE-2024-27876 (CVSS:8.1) を悪用する攻撃者は、macOS/iOS システム上で任意のファイルへの書き込みを達成するため、Apple Gatekeeper 保護を回避する可能性を手にすると指摘されている。この深刻な脆弱性は、セキュリティ研究者である Snoolie Keffaber により発見されたものであり、技術的分析と PoC エクスプロイトにより武器化が実証されている。

Keffaber は、Apple Archive の内部動作を調査し、Linux 互換のオープンソース “.aar” ファイル・パーサーである libNeoAppleArchive を開発した。そして、Apple Archive ファイルのシンボリック・リンク抽出ロジックを検証しているときに、その処理方法に欠陥があることに気づいた。

Keffaber — システム上の、まったく別のディレクトリへのシンボリック・リンクを含む、アーカイブの抽出に成功した!

この発見をきっかけに、ヘッダーフォーマットに関する詳細な実験が行われ、最終的に、ある事実へと辿り着いた。Apple アーカイブの抽出時の競合状態を悪用することで、ディレクトリ・チェックの直後に、かつ、対応するディレクトリが作成される前に、不正なシンボリック・リンクの作成が可能になることが判明したのだ。その結果として、対象となるディレクトリへのシンボリック・リンク経由での書き込みが可能となり、また、攻撃者が選択したディスティネーションへのデータのリダイレクトも可能になる。

Keffaber — LibAppleArchive は両方を同時に抽出しようとする。mkdir() 呼び出しが失敗する確率は約 15% だ。しかし libAppleArchive は、実際にはシンボリック・リンクが存在していても、ディレクトリが作成されたと認識する。

シンボリック・リンクとファイルのシーケンスを、アーカイブ内で複数回にわたり複製することで、Keffaber はエクスプロイトの信頼性を劇的に向上させた。彼は、このエクスプロイトを基に、ファイルを一時ディレクトリに抽出し、その後に隔離属性を適用する Archive Utility を標的にすることで、Gatekeeperのバイパスを狙った。

Keffaber — この libAppleArchive エクスプロイトを使えば、ArchiveService を騙してディレクトリ外にファイルを抽出させることが可能になる。しかも、隔離が行われないため、Gatekeeper をバイパスできる!

ただし、この手法は、対象システムの $TMPDIR に関する事前知識を必要とし、追加の手順も伴うものとなる。とは言え、かつては堅牢と考えられていたセキュリティ境界が、システム・レベルの微妙な競合状態により破られる可能性があることが、実証されたことになる。

この脆弱性 CVE-2024-27876 は、macOS デスクトップ環境だけに脅威を与えるものではない。つまり、libAppleArchive を使用する。あらゆるプロセスやサービスにも影響を及ぼす。具体的には、以下のプロセスやサービスが影響を受ける:

  • WorkflowKit:ショートカットである AEAファイル を扱う
  • FlexMusicKit:おそらく ClipServices
  • iOS 上の Files アプリ:”.aar” ファイルを抽出できる

pathIsValid() などの検証チェックが実装されている場合であっても、この脆弱性は、競合タイミングに応じて、それらを完全に回避する。

Keffaber — つまり、ファイルに書き込もうとすると、任意のファイルを指すシンボリック・リンクに書き込まれてしまうのだ!なんてこった!

libNeoAppleArchive を使用するエクスプロイト作成者が、GatekeeperV3.zip という ZIP ファイルを共有している。$TMPDIR などの、システム変数に関する情報が依然として必要になるが、実環境における攻撃の可能性が裏付けられている。

すでに Apple は、以下のプラットフォームで、この脆弱性を修正している:

  • macOS 13.7/14.7/15
  • iOS 17.7/18
  • visionOS 2

一見すると無害なアーカイブ機能が、脆弱性 CVE-2024-2787 により、攻撃の入り口となるとは驚きです。PoC エクスプロイトが提供されたことで、悪用の可能性も高まります。ユーザーの方々は、アップデートを忘れないよう、ご注意ください。よろしければ、Apple で検索も、ご参照ください。