Mac向けParallels Desktopに存在する重大なローカル権限昇格の脆弱性により、権限を持たないローカルユーザーが攻撃者の制御下にあるコードをroot権限で実行できる可能性があることが分かりました。開発者用ワークステーションや複数人で共有するmacOSシステムがリスクにさらされることになります。
CVE-2026-90894として追跡され、JFrogの研究者らによって「ParaShells」と名付けられたこの脆弱性は、Parallels Desktopが仮想マシンやネットワーキングコンポーネント、アプライアンスのインストールを管理するために使用する特権デーモンprl_disp_serviceに影響します。
JFrogは、Apple SiliconシステムでParallels Desktop 26.4.0 build 57513を対象とした悪用を確認しました。Parallelsはこの問題をDesktop 27.0.0で修正しています。
この問題が重大とされるのは、悪用に管理者権限も、署名済みのParallelsクライアントも、稼働中の仮想マシンも必要としない点です。攻撃者は、Parallels Desktopとそのroot権限で動作するディスパッチャーサービスがインストールされたシステム上で、権限の低いローカルmacOSアカウントによるコード実行さえ確保すればよいのです。
Yuval Moravchick氏の発見によれば、このサービスはUnixソケット/var/run/prl_disp_service.socketを全ユーザー書き込み可能な権限で公開しており、あらゆるローカルプロセスからの接続を許してしまいます。
このサービスの認証経路であるPrlSrv_LoginLocalは、接続してきたクライアントがParallelsによって署名されているかどうかを検証するのではなく、ローカルのピア認証情報に基づいてリクエストを受け入れてしまうとされています。
サービスへの認証を通過すると、攻撃者はアプライアンスのインストール機能を呼び出し、悪意のある仮想マシンの親パスを指定できてしまいます。
脆弱性のある抽出処理フローは、指定されたパスを使ってtarコマンドを文字列として構築し、それをQtのQProcess::splitCommandで処理します。この脆弱性は従来型のシェルコマンドインジェクションに依存するものではありませんが、引数インジェクションを可能にしてしまいます。
攻撃者が制御可能なディレクトリパスに引用符を挿入することで、本来意図されていた引用符付き引数を途中で終了させ、追加のtarオプションを差し込むことができます。研究者らは具体的に、--use-compress-program引数のインジェクションを実証しました。
macOSのtarユーティリティは、アーカイブを処理する際にこのオプションを通じて外部プログラムを呼び出すことができます。prl_disp_serviceが抽出プロセスをroot権限で起動するため、外部から指定されたプログラムもroot権限で実行されてしまいます。
アーカイブの抽出処理自体はその後失敗する場合がありますが、その時点で既にインジェクションされたプログラムは昇格した権限で実行を得ています。JFrogの概念実証では、ローカルにホストしたfile://形式のアプライアンスアーカイブと、それに対応するチェックサムを使用しました。
この攻撃チェーンでは、引数解析の挙動によってコマンドが改変された後にtarがアクセスすることになるパスに、2つ目のアーカイブのコピーを配置しました。インジェクションされたオプションを通じて指定されたヘルパースクリプトはUID 0で実行され、完全な権限昇格が実証されました。
この脆弱性は、開発者や研究者、企業、教育機関の環境で使用されるMacに現実的なリスクをもたらします。侵害されたnpmパッケージや悪意のあるCI成果物、トロイの木馬化されたインストーラーといった権限の低いペイロードが、初期のユーザーレベルのアクセスをホスト全体の掌握に変えてしまう可能性があります。
管理者は、Parallels Desktopを稼働させているシステムを洗い出し、バージョン27.0.0以降にアップグレードする必要があります。
また各組織は、Parallelsが有効なMac上で不要なローカルアカウントを制限し、prl_disp_service.socketへの不審なアクセスやアプライアンスのインストール活動、通常とは異なるtarの呼び出し、/etc/sudoers.d/配下での予期しない変更を監視すべきです。
16,000社以上のSOCチームがANY.RUNを活用し、脅威調査の効率化と手作業の削減を実現しています。貴チームでもぜひご検討ください
翻訳元: https://cyberpress.org/parallels-desktop-flaw/