新たに公開されたWindowsの脆弱性(CVE-2026-35603)により、管理者権限を持たないユーザーであっても、共有の C:\ProgramData フォルダに悪意のある設定ファイルを配置することが可能になります。そこでは、複数のAI搭載コーディングアシスタントが設定を自動的に読み取ります。その後、管理者が Claude Code、Cursor、Codex CLI、または Gemini CLI のいずれかのツールを実行すると、その悪意のあるファイルがフルシステム権限で実行され、攻撃者は警告なしにマシンを制御できるようになります。

なぜこの問題が重要なのか

AIコーディングアシスタントは開発パイプラインにおいて一般的になっており、コンパイラ、パッケージマネージャー、または内部リポジトリにアクセスするために、多くの場合、昇格した権限で実行されます。管理者として実行されるコードを注入できる能力は、ワークステーションを保護する通常のユーザーレベルのサンドボックスをバイパスしてしまいます。実際には、低権限のアカウントがファイルを配置し、管理者がアシスタントを起動するのを待ち、その後アシスタントに任意のコマンドを実行させたり、システムファイルを改ざんしたり、認証情報を収集させたりすることが可能です。その影響は、持続的なマルウェアのための静かな足がかりから、企業ワークステーションの完全な乗っ取りまで多岐にわたります。

脆弱性の仕組み

これら4つのツールはすべて、単純な設計上の選択を共有しています。つまり、マシン全体の構成を C:\ProgramData に保存し、起動時にそれらのファイルを自動的に読み込むという点です。Windowsでは、このディレクトリは標準ユーザーであれば誰でも読み書きが可能です。ツールは、ファイルを解析する前に、その所有者や整合性を検証していません。

ツール 想定される設定ファイル
Claude Code managed-settings.json
Cursor hooks.json
Codex CLI config.toml
Gemini CLI system-defaults.json

攻撃者は、ツールが探しているものと全く同じ名前のファイルを作成し、C:\ProgramData 内の対応するフォルダに配置して待ち構えます。管理者がアシスタントを開くと、プログラムは攻撃者が制御するファイルを読み込み、その内容を実行します。Codex CLI の場合、悪意のある設定によって組み込みのセキュリティサンドボックスを無効化することもでき、攻撃対象領域(アタックサーフェス)をさらに広げる可能性があります。

Claude Code の開発元である Anthropic は、すでに設定を保護された場所に移動させており、その製品については事実上この問題が解消されています。他のベンダーは、調査レポートの時点では修正プログラムをリリースしておらず、ユーザーは危険にさらされたままとなっています。

勝者と敗者

  • 攻撃者は、カーネルのバグやゼロデイコードを悪用する必要のない、単純な権限昇格の経路を手に入れます。
  • 開発者および組織は、日常業務でこれらのアシスタントに依存している場合、認証情報の密かな窃取、コードの注入、またはランサムウェアの展開というリスクに直面します。
  • ツールベンダーは、脆弱性が迅速に修正されない場合、評判の低下や法的責任を問われるリスクがあります。

侵害のコストは高額になる可能性があります。侵害された SSH キー、クラウドトークン、および Git 認証情報は、より広範なネットワーク侵害への入り口となり得ます。たった一つの侵害されたワークステーションであっても、企業環境内でのラテラルムーブメント(横展開)の踏み台になり得ます。

今日から取れる緩和策

ベンダーがパッチを配布するまでの間、管理者はフォルダ自体を強化することができます。以下の PowerShell コマンドを昇格した権限で実行すると、想定されるディレクトリ(存在しない場合)を作成し、システムと管理者のみが書き込み権限を持てるようにロックします。

# Create the directories
$paths = @(
    "C:\ProgramData\ClaudeCode",
    "C:\ProgramData\Cursor",
    "C:\ProgramData\openai\codex",
    "C:\ProgramData\gemini-cli"
)
foreach ($p in $paths) { New-Item -ItemType Directory -Path $p -Force }

# Remove inherited permissions and grant only the needed accounts
foreach ($p in $paths) {
    icacls $p /inheritance:r
    icacls $p /grant "SYSTEM:(OI)(CI)F" "Administrators:(OI)(CI)F" "Users:(OI)(CI)RX"
}

ACL(アクセス制御リスト)を適用した後、標準ユーザーが所有しているファイルがないかフォルダをスキャンしてください。そのようなファイルが見つかった場合は、マシンがすでに侵害されている強力な兆候です。その場合は、直ちにすべての秘密鍵、クラウドアクセス・トークン、およびバージョン管理の認証情報を更新(ローテーション)してください。

注意すべき点

  • ベンダーのパッチ – 影響を受けるベンダーのリリースノートを注視してください。設定ファイルを保護された場所に移動させるか、整合性チェックを行うことで、この問題は無効化されます。
  • セキュリティツールのアップデート – エンドポイント検出プラットフォームが、C:\ProgramData におけるこの特定のファイル作成パターンに対するシグネチャを追加する可能性があります。これらのアップデートを適用することで、早期のアラートを得ることができます。
  • コミュニティによる公開情報 – セキュリティ研究者が、内部監視に組み込むことができる概念実証(PoC)エクスプロイトや検出スクリプトを公開する可能性があります。

反論

リスクは複数のユーザーアカウントが存在するマシンに限定される、あるいは、これらのツールが管理者権限で実行されることは稀である、と主張する人もいるかもしれません。これらの要因は攻撃対象領域を縮小させますが、排除するものではありません。多くの企業用ノートPCは中央管理されており、コンパイラやSDKをインストールするために、開発者に管理者権限が付与されていることがよくあります。さらに、マルウェアは管理者レベルのトリガーがなくても、AIアシスタントを単なる便利な実行ベクトルとして利用することで、同じフォルダを悪用してシステム内に永続化を図ることができます。

まとめ

CVE-2026-35603は、誰でも書き込み可能な(world-writable)フォルダから設定を読み込むという、一見無害に見える設計上の決定が、AIツールが関与する場合にいかに強力な権限昇格の経路になり得るかを実証しています。ベンダーがこの欠陥に対処するまでは、唯一の信頼できる防御策は、これらのアシスタントが使用する C:\ProgramData のサブフォルダをロックダウンし、そこに存在する予期しないファイルを侵害の兆候として扱うことです。この問題を放置することは、低権限のアカウントがWindowsワークステーションの完全な制御権を取得するための直接的な経路を残しておくことになります。