macOS の権限昇格の脆弱性 :CVE-2024-27822:PoC エクスプロイトが公開

macOS Root Access Exploit: PoC Code for CVE-2024-27822 Released

2024/06/03 SecurityOnline — macOS に存在する権限昇格の脆弱性 CVE-2024-27822 の、技術的詳細と PoC (proof-of-concept) エクスプロイト・コードが、セキュリティ研究者により公開された。この脆弱性は 2024年3月に発見/報告されたものであり、5月にリリースされた macOS Sonoma 14.5 においてパッチが提供されている。Apple はアドバイザリで、このロジックの問題に対処し、制限の方式を改善したと述べている。


セキュリティ研究者の Mykola Grymalyuk による最新の分析では、脆弱性 CVE-2024-27822 は、主に Installer.app と PackageKit.framework に影響を及ぼすものとなる。悪用されると、PKG (package files) に埋め込まれたインストール・スクリプトが、カレント・ユーザーの環境内で root として起動されるという。この問題は、これらのスクリプトが、特に #!/bin/zsh shebang を持つスクリプトが root 権限で実行されているときの、ユーザーによる “.zshenv” ファイルのロードの方法に起因する。

この脆弱性の核心は、悪意のペイロードを “.zshenv” ファイルに挿入できることだ。ユーザーが ZSH ベースの PKG をインストールすると、インストール・スクリプトが root 権限で実行され、”.zshenv” ファイルがロードされ、そこに埋め込まれた悪意のコードが root として実行される。つまり、ユーザーが手動で PKG をインストールするシナリオにおいて、深刻なセキュリティ・リスクをもたらす可能性が生じる。

この脆弱性の主な攻撃経路は、”.zshenv” ファイル内に潜む Logic Bomb ベースのペイロードにある。このペイロードは、ユーザーが ZSH ベースの PKG をインストールするときに実行され、攻撃者に対してルート・アクセスを許可する。つまり、様々なソースから PKG を頻繁にインストールされる環境では、特に壊滅的な被害をもたらす可能性がある。

この CVE-2024-27822 の悪用を実証する PoC が、Mykola Grymalyuk から提供されている。そのプロセスが簡単であることが、脆弱性の深刻さを浮き彫りにしている:

  1. .zshenv ファイルに悪意のペイロードを注入する。
  2. Generic-ZSH.pkg などの、#!/bin/zsh shebang を持つ PKG をインストールする。
  3. PKG をインストールすると、root 権限でペイロードが実行される。

pkg_exploit.py で提供される自動化された PoC は、ダミーの PKG を作成し、”.zshenv” ファイルにペイロードを注入することで、このプロセスを単純化する。

この脆弱性に対する防御において、ユーザーと管理者にとって必要なことは、問題に対処する最新の macOS バージョンへと、自身のシステムがアップデートされていることを確認することである:

  • macOS 14.5 Beta 2 (23F5059e) 以降
  • macOS 13.6.7 (22G720) 以降
  • macOS 12.7.5 (21H1222) 以降

さらに、信頼できないソースから PKG をインストールする際には注意を払い、定期的に “.zshenv” ファイルを見直し、安全性を確保する必要がある。