Microsoft Copilot Enterprise の脆弱性:Jupyter サンドボックス経由で root 権限を取得

Microsoft Copilot Rooted to Gain Unauthorized Root Access to its Backend System

2025/07/25 CyberSecurityNews — Microsoft Copilot Enterprise に発見されたのは、バックエンド・コンテナへの root アクセスを、権限のないユーザーが可能にするという深刻なセキュリティ脆弱性である。この脆弱性を悪用する脅威アクターは、システム・コンフィグの改変/機密データへのアクセス/アプリケーション整合性への侵害などを、引き起こす可能性を手にするという。

この問題の原因は、2025年4月のアップデートで導入された、Jupyter Notebook 搭載のライブ Python サンドボックスにある。このサンドボックスは、シームレスなコード実行を目的とする機能強化の一環であったが、結果として悪用の温床となり、AI 統合システムのリスクを浮き彫りにすることになった。

この脆弱性は、Eye Security により発見された。同社は Copilot の挙動を、”予測不能な子供の行動のようなもの” と冗談めかして表現した。そして、Jupyter の %command 構文を用いることで、miniconda 環境内で ubuntu ユーザーとして、任意の Linux コマンドを実行できることを実証した。

このユーザーは sudo グループに属していたが、そのセットアップには sudo バイナリは存在せず、皮肉なレイヤが追加されていた。このサンドボックスは ChatGPT のモデルを模倣していたが、使用される Linux カーネルは新しいバージョンであり、Python 3.12 が搭載されていた。

この調査により判明したのは、サンドボックスのコア的な役割が、Tika サーバと並行して Jupyter Notebook を実行する点にあったことだ。そのコンテナは、/32 ネットマスクにより制限される link-local ネットワーク・インターフェイスを持ち、ホストの /legion パスにリンクされる OverlayFS ファイル・システムを使用していた。

複数のカスタム・スクリプトが /app ディレクトリに配置され、Copilot は永続的なコマンドの実行により、ファイルまたは tar フォルダをダウンロードし、それらを /mnt/data にコピーした上で、outlook.office[.]com 上の BLOB リンク経由で外部アクセスを可能にしていた。

/app 内の主要バイナリである goclientapp は、コンテナのインターフェイスとして機能し、/execute エンドポイントへの POST リクエストを処理する Web サーバを、ポート 6000 で実行していた。

たとえ {“code”:”%env”} のような単純な JSON ペイロードであっても、Jupyter 環境内でのコード実行を引き起こしていた。出力トラフィックは httpproxy バイナリにより抑制されていたが、将来的な送信トラフィック機能の存在を示唆していた。

決定的な要因は、root 権限で実行される entrypoint.sh スクリプトであった。このスクリプトは、多くのプロセスに対して権限を放棄していたが、keepAliveJupyterSvc.sh の起動においては root 権限を保持していた。特に重大な見落としは 28 行目にある。pgrep コマンドがフルパスで指定されず、while true ループ内で、2 秒ごとに繰り返して実行されている。

この pgrep コマンドは $PATH 環境変数に依存しており、正規の pgrep が存在する /usr/bin/pgrep の前に、/app/miniconda/bin などの書き込み可能なディレクトリを取り込んでいた。

その悪用を実証する研究者は、書き込み可能なパス上に偽の pgrep (Python スクリプト) を設置した。この、Copilot 経由でアップロードされたスクリプトは、/mnt/data/in からコマンドを読み取り、popen により実行し、結果を /mnt/data/out に出力することで、ルート権限の取得に成功した。

結果として、ファイル・システムの調査が可能となったが、既知の脆弱性は修正済みであり、機密データの取得や完全なブレイクアウト・パスは発見されなかった。

2025年4月18日の時点で Eye Security は、この脆弱性を Microsoft Security Response Center (MSRC) に報告し、7月25日には修正が完了した。Medium レベルの深刻度と評価され、報奨金は支払われなかったが、Microsoft の研究者ページに謝辞が掲載された。

このエクスプロイトにより得られた成果について、研究者たちは面白半分にすぎなかったと述べているが、Entra OAuth を悪用する Copilot と、21 個の内部サービスにおける Responsible AI Operations パネルへのアクセスなどの、未公開の調査結果の存在も示唆される。

このインシデントは、AI サンドボックスが持つ、革新性と脆弱性という二面性を浮き彫りにしている。Microsoft は、公式なコメントを出していないが、その迅速な修正対応が示すのは、進化し続ける AI 環境における同社のプロアクティブなセキュリティ対策である。