Parallels Desktop のゼロデイと PoC エクスプロイト:FIX されたはずの CVE-2024-34331 とは?

Parallels Desktop 0-Day Exploit Enables Root Privileges – PoC Released

2025/02/24 gbhackers — Parallels Desktop 仮想化ソフトウェアの、深刻なゼロデイ脆弱性が公開された。7か月にわたり未解決の状況にある脆弱性が公開されたことになり、それを悪用する攻撃者は、macOS システムで権限をルート・レベルへと昇格できるようになる。以前に対処された権限昇格の脆弱性 CVE-2024-34331 に対する、既存のパッチを回避する2種類のバイパス方法が、PoC エクスプロイト・コードにより示されている。

脆弱性の技術概要

Parallels Desktop パッチ検証のバイパス

パッチが適用された脆弱性 CVE-2024-34331 は、macOS インストーラーの再パッケージ化中に使用される、createinstallmedia ツールにおける不適切な署名検証に関係していた。

Parallels の最初の修正で必要とされたのは、権限昇格のための Apple の署名付きバイナリである。しかし、新たに公開されたバイパスは、この検証ロジックの弱点を悪用している:

  1. TOCTOU (Time-of-Check to Time-of-Use) 競合状態

    攻撃者は、署名の検証と実行の間の短い時間の中で、検証済みの createinstallmedia バイナリを悪意のあるペイロードに置き換える。

以下のエクスプロイト・スクリプトが、この手法を示している:

#!/bin/sh

# [...] payload creation

defaults write /tmp/poc.app/Contents/Info.plist CFBundleDisplayName createinstallmedia

open /tmp/poc.app -a /Applications/Parallels\ Desktop.app

# [...] directory monitoring loop replaces binary post-validation

mv /tmp/payload /tmp/poc.app/Contents/Resources/createinstallmedia
  1. 脆弱な署名要件のエクスプロイト

    この署名チェックでは、過度に寛容なアンカー・アップル・ルールが使用され、Apple 署名バイナリ (例: /bin/ls) が検証を通過していく。したがって攻撃者は、動的ライブラリ (DYLIB) ハイジャックを介して、正当な Apple バイナリへの悪意のコード挿入を可能にする。
脆弱性チェーンの進化

バージョン 19.4.1 でのパッチ後バイパス

Parallels がバージョン 19.4.1 で導入した、新しい do_repack_manual 関数は、7z 圧縮によるインストーラーの再パッケージ化を処理するものである:

do_repack_manual() {

    # [...] path manipulation vulnerability

    local result_vol_name="$(defaults read "$source_app"/Contents/Info CFBundleDisplayName)"

    temp_result_dir="$temp_dir"/"$result_vol_name"

    mkdir "$temp_result_dir"

    # [...] attacker-controlled path leads to arbitrary code execution

    cp -R "$source_app" "$temp_result_dir"

}

2番目のエクスプロイト・スクリプトに示されているように、CFBundleDisplayName 値を悪用する攻撃者は、 Parallels が使用する 7z バイナリを上書きする。

defaults write /tmp/poc.app/Contents/Info.plist CFBundleDisplayName ../../../../../../tmp/lnk/result

# [...] symlink manipulation redirects root-owned directories

ln -s /tmp/redirect /tmp/lnk

ln -sfn /tmp/dst /tmp/lnk

未解決のベンダー・レスポンス・タイムライン

2024年5月31日の時点で研究者たちは、このバイパスについて Zero Day Initiative (ZDI) に報告したが、バージョンの不一致の問題により確認が遅れた。Parallels は段階的なアップデートをリリースしていたが、コアとなる権限昇格リスクは未解決のままであり、以下のような深刻な問題が残されている。

  • 容易なパス操作による完全なルート・アクセス
  • macOS の透過性メカニズムをバイパスするサイレント・コード実行
  • macOS 仮想化ユーザーを標的とする、サプライ チェーン攻撃における武器化の可能性
緩和策の推奨事項

Parallels が公式パッチを発行するまでの間に、ユーザーにとって必要なことは、以下の項目である。

  1. Parallels Desktop 権限の制限:System Settings > Security > Automation の下にある macOS Privacy Controls を使用して、prl_disp_service による自動実行を無効化する。
  2. ISO/DMG ソースの監査:検証済みの Apple ディストリビューション・チャネルからのインストーラ・イメージのみを実行する。
  3. ファイル・システム・アクティビティの監視:/Library/ への予期しない書き込みや、Parallels のリソース・ディレクトリの変更に対する、エンドポイント検出を実装する。

この情報開示が浮き彫りにするのは、特権仮想化サービスにおける継続的なリスクと、堅牢な署名検証フレームワークの必要性である。

macOS 仮想化において Parallels Desktop を利用しているユーザーや企業は、ベンダーが包括的な修正プログラムをリリースするまでの間において、この件をアクティブな脅威として扱う必要がある。

Parallels Desktop for Mac に、2024年に発見/報告されていながらも、現在も修正されていない脆弱性が存在することが判明しました。ご利用のチームは、緩和策の実施をご検討ください。よろしければ、関連記事として 2024/06/04 の「Parallels for Mac の脆弱性 CVE-2024-34331 が FIX:root 権限奪取の PoC が提供される」も、ご参照ください。