Claude Cowork’s Sandbox Vulnerability Allows Attackers to Run Arbitrary Commands as Root
2026/07/02 CyberSecurityNews — Anthropic の Claude Cowork における脆弱性チェーンを悪用する攻撃者は、ローカルでのコード実行を可能にする権限昇格を達成する。その結果として、Claude の基盤となる Linux sandbox 内で、root として任意のコマンドを実行できる。この問題は、Anthropic の環境に組み込まれた防御の全レイヤーを回避するものである。Claude Cowork は Anthropic のナレッジワーカー向けの製品であり、非技術者のユーザーが Claude Code を活用してツールを構築し、データを処理できるように設計されている。

Windows 上における Cowork は、Hyper-V で分離された Ubuntu VM 内に Claude Code をラップしており、Authenticode が制御する名前付きパイプ RPC/bubblewrap namespace/セッションごとの非特権ユーザー/seccomp フィルター/ドメイン制限付きの egress proxy などにより保護されている。
Cowork の Sandbox 脆弱性
Armadin の調査の目標は、ネットワーク・アクセス制限のない root として、VM 内での任意のコードを秘密裏に実行することであり、それに成功した。

Windows 上の Cowork は、Host Compute Service を通じて sandbox をプロビジョニングしており、標準の Hyper-V ツールからは可視化されないかたちで Ubuntu VM を実行する (Administrator 権限で hcdiag list を実行した場合にのみ確認可能) 。
Local System サービスである CoworkVMService は、JSON ベースの RPC サーバをホストする名前付きパイプ “\.\pipe\cowork-vm-service” を通じて、デスクトップ接続を管理する。
CoworkVMService は、Authenticode 署名チェックを用いて接続を検証し、呼び出し元が “Anthropic, PBC” により署名されていることを確認する。Armadin は、複製した署名 blob や代替 trust chain を用いることで、それらを回避しようと試みたが、どちらも WinVerifyTrust に対して失敗した。
そのため、研究者たちは、DLL サイドローディング (MITRE ATT&CK T1574.002) へと方針転換した。そこで彼らが発見したのは、”claude.exe” が、システム側のコピーにフォールバックする前に、自身のアプリケーション・ディレクトリから “USERENV.dll” を解決することである。
具体的には、GetUserProfileDirectoryW を export する悪意の DLL を細工し、それに USERENV.dll という名前を付けるという手法を用いる。それにより、Armadin はパイプの ID チェックを壊すことなく、正当に署名された Anthropic バイナリ内で任意のコード実行を達成した。
“claude.exe” 内でコード実行を得た Armadin は、AI コーディング・エージェントを用いることで、サービスログ/エラーメッセージ/JSON fuzzing から RPC プロトコルをリバース・エンジニアリングした。そのプロトコルは、単純な [4-byte length][JSON payload] というフレーミングを使用しており、configure/startVM/isGuestConnected などのなどのメソッドを公開していたが、そこには決定的に重要な spawn も含まれる。
sandbox における大半の保護は、直接の攻撃に対して堅固に機能した。useradd は root のような予約済みユーザー名を拒否し、egress proxy は許可リストに存在しないドメインを 403 エラーで遮断した。また、ファイル・システム側でも、NTFS junction が guest 内へ追従されることはなかった。
突破口となったのは、spawn の 2 つのパラメータである isResume と allowedDomains が、VM の sdk-daemon に対してサニタイズされずに転送されていた点にある。Armadin は、不正な JSON を fuzzing することで、Go の詳細な unmarshaling エラーを使い、完全なパラメータ・スキーマを列挙した。
通常、”isResume: false” は、新しい非特権ユーザーの作成を強制する。しかし、”isResume: true” を設定すると、既存ユーザーに関する確認が完全に回避され、指定された任意のユーザーとしての daemon による、コマンド実行が可能になった。そこには root も含まれるが、検証は行われなかった。
{“name”: “root”, “isResume”: true} を送信すると、bubblewrap sandbox 内で root shell が返される。
Armadin は、この完全な kill chain を Claude Desktop for Windows バージョン 1.9255.2.0 に対して検証している。Anthropic の脅威モデルでは、ローカル実行要件は想定対象とされていない。しかし、この発見が示すのは、”sandbox 化” された AI agent ツール内の権限境界が、初期アクセスの取得により容易に回避され得ることだ。
訳者後書:コンピュータ上でのデータ処理やツール作成を支援するシステム Claude Cowork において、内部の安全なサンドボックス環境を突破されて、最上位の管理権限が奪われてしまう深刻な仕組み上の弱点が発見されました。この問題の背景には、外部プログラムと連携する際の内部的な呼び出し手順や、再開時の利用者検証の処理に不備があるという構造上の問題があります。もし、この連鎖的な不具合が悪用されると、本来は制限されているはずの基盤システム内で任意のコマンドを強制的に実行され、端末の制御や重要な情報基盤を完全に掌握される恐れがあります。対応策として、まずは利用している関連ソフトウェアの修正情報を確認し、最新の更新プログラムを早期に適用することで、安全な状態の確保が必要となります。
You must be logged in to post a comment.