コンテンツにスキップするには Enter キーを押してください

Cursor AIコードエディタの脆弱性が修正され、攻撃者によるプロンプトインジェクション経由のコマンド実行が防止

Image

サイバーセキュリティ研究者は、人気の人工知能(AI)コードエディタであるCursorに存在していた、リモートコード実行につながる重大なセキュリティ脆弱性(現在は修正済み)を公開しました。

この脆弱性はCVE-2025-54135(CVSSスコア:8.6)として追跡されており、2025年7月29日にリリースされたバージョン1.3で修正されました。Aim Labsはこの脆弱性にCurXecuteというコードネームを付けており、以前にはEchoLeakも公開しています。

「Cursorは開発者レベルの権限で動作しており、信頼できない外部データを取得するMCPサーバーと組み合わせることで、そのデータがエージェントの制御フローをリダイレクトし、これらの権限を悪用できる」とAim LabsチームはThe Hacker Newsと共有したレポートで述べています。

「攻撃者がMCP経由でエージェントに悪意あるデータを与えることで、ユーザー権限下で完全なリモートコード実行が可能となり、ランサムウェア、データ窃取、AIの操作や幻覚など、さまざまな攻撃が実現できます。」

言い換えれば、外部ホストされたプロンプトインジェクションによって、ユーザーに気付かれずに「~/.cursor/mcp.json」ファイルが書き換えられ、攻撃者が制御するコマンドが実行されるリモートコード実行が引き起こされます。

この脆弱性はEchoLeakと類似しており、AIモデルが利用するためにModel Control Protocol(MCP)サーバーによって公開されているツールが、データベースのクエリやAPIの呼び出しなど外部システムとの連携を容易にする一方で、信頼できないデータを取得することでエージェントの期待される動作が毒される可能性があります。

具体的には、Aim SecurityはCursorでカスタムMCPサーバーを設定するために使用されるmcp.jsonファイルが、確認なしに新しいエントリ(例:Slack MCPサーバーの追加)を実行できることを発見しました。

この自動実行モードは特に危険であり、攻撃者がSlackメッセージ経由で注入した悪意あるペイロードが自動的に実行される可能性があります。攻撃の流れは以下の通りです:

  • ユーザーがCursorのUIからSlack MCPサーバーを追加する
  • 攻撃者がコマンドインジェクションペイロードを含むメッセージを公開Slackチャンネルに投稿する
  • 被害者が新しいチャットを開き、Cursorのエージェントに「Slackツールを使って自分のメッセージを要約して」とプロンプトで依頼する
  • エージェントが、コンテキストに悪意あるコマンドを注入するよう細工されたメッセージに遭遇する

「この脆弱性の根本的な原因は、グローバルMCP JSONファイルへの新規エントリが自動的に開始されることにあります」とAim Securityは述べています。「たとえ編集が拒否されたとしても、コード実行はすでに発生しています。」

この攻撃全体は、その単純さが注目に値します。しかし同時に、AI支援ツールが外部コンテンツを処理する際に新たな攻撃面を開く可能性があること、特にサードパーティのMCPサーバーが関与する場合を浮き彫りにしています。

「AIエージェントが外部・内部・対話的な世界をつなぎ続ける中で、セキュリティモデルは外部コンテキストがエージェントの実行時に影響を及ぼす可能性を前提とし、すべての段階を監視しなければならない」と同社は付け加えています。

Cursorのバージョン1.3では、ベース64エンコーディングやシェルスクリプト、引用符で囲んだシェルコマンド(例:”e”cho bypass)などの手法を用いて、プラットフォームの拒否リストベースの保護を簡単に回避できる自動実行モードの別の問題にも対処しています。

BackSlash Research Teamによる責任ある情報開示を受け、Cursorは自動実行における拒否リスト機能を廃止し、許可リスト方式に切り替えました。

vibeコーディングプラットフォームが提供する組み込みのセキュリティソリューションが包括的または完全であるとは期待しないでください」と研究者のMustafa Naamneh氏とMicah Gold氏は述べています。「エージェントシステムに適切なガードレールを備えさせる責任は、エンドユーザー組織にあります。」

この情報開示は、HiddenLayerがCursorの効果のない拒否リスト方式が、GitHubのREADME.mdファイルに隠された悪意ある命令を埋め込むことで悪用され、攻撃者がAPIキーやSSH認証情報、さらにはブロックされたシステムコマンドまで盗むことができると発見したことを受けたものです。

「被害者がGitHub上でプロジェクトを閲覧した際、プロンプトインジェクションは見えませんでしたが、Cursorにプロジェクトをgit cloneしてセットアップを手伝うよう依頼しました。これはIDEベースのエージェントシステムではよくあることです」と研究者のKasimir Schulz氏、Kenneth Yeung氏、Tom Bonner氏は指摘しています

「しかし、プロジェクトをクローンしてreadmeを確認し、セットアップ手順を見た後、プロンプトインジェクションがAIモデルを乗っ取り、ユーザーのワークスペース内のキーをgrepツールで探し、curlでキーを流出させました。」

HiddenLayerはまた、OpenAI APIリクエスト用のベースURLをプロキシモデルに上書きすることでCursorのシステムプロンプトを漏洩させたり、read_fileとcreate_diagramという2つの無害なツールを組み合わせる「ツールコンビネーション攻撃」によりユーザーのプライベートSSHキーを流出させたりできる追加の弱点も発見したと述べています。

これは本質的に、GitHubのREADME.mdファイル内にプロンプトインジェクションコマンドを挿入し、被害者ユーザーがコードエディタにファイルの要約を依頼した際にCursorがそれを解析し、コマンドが実行されるというものです。

隠された命令は、read_fileツールを使ってユーザーのプライベートSSHキーを読み取り、create_diagramツールを利用して攻撃者が管理するwebhook.siteのURLにキーを流出させます。これらすべての問題点はCursorのバージョン1.3で修正されています。

Cursorのさまざまな脆弱性のニュースは、TracebitがGoogleのGemini CLIを標的とした攻撃を考案したことを受けて報じられています。Gemini CLIはコーディングタスクに特化したオープンソースのコマンドラインツールで、デフォルト設定の脆弱性を悪用し、curlを使って攻撃者管理のサーバーに機密データを密かに流出させるものでした。

Cursorの場合と同様、この攻撃は被害者が(1)攻撃者が作成したGitHubコードベース(間接プロンプトインジェクションを含むGEMINI.mdコンテキストファイルを含む)とやり取りするようGemini CLIに指示し、(2)許可リストに無害なコマンド(例:grep)を追加することを必要とします。

「これらの要素を標的としたプロンプトインジェクションは、Gemini CLI内の重大な検証・表示の問題と相まって、検知困難な任意コード実行を引き起こす可能性があります」とTracebit創設者兼CTOのSam Cox氏は述べています

この攻撃によるリスクを軽減するため、Gemini CLIユーザーは2025年7月25日にリリースされたバージョン0.1.14へのアップグレードが推奨されています。

翻訳元: https://thehackernews.com/2025/08/cursor-ai-code-editor-fixed-flaw.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です