はじめに
Windows版Vimに高セキュリティの脆弱性が発見されました。この脆弱性により、攻撃者は影響を受けるシステム上で悪意のあるコードを実行する可能性があります。この欠陥はCVE-2025-66476として追跡されており、バージョン9.1.1947より前のVimに影響を与えます。Windowsユーザーにとって深刻な影響があるため、危険度は「高」と評価されています。
脆弱性の詳細
この脆弱性は、Windowsシステムにおける「制御されていない検索パス」の問題に起因しています。Vimが外部コマンドを必要とするタスクを実行する際、システムパスを確認する前に現在の作業ディレクトリで実行可能ファイルを検索します。この検索順序が、ユーザーが作業しているディレクトリに悪意のある実行可能ファイルを配置することで、攻撃者にとって危険な抜け穴を作り出します。
脆弱性の概要
- CVE ID: CVE-2025-66476
- 対象製品: Windows版Vim
- 危険度: 高
- CVSSスコア: 7.8
攻撃の仕組み
攻撃シナリオは単純かつ懸念されるものです。例えば、ユーザーが悪意のあるリポジトリをインターネットからクローンし、その中のファイルをVimで開くとします。リポジトリの作成者は、「findstr.exe」のような一般的な名前のトロイの木馬化された実行ファイルを同梱している可能性があります。ユーザーがVimで:grepコマンドを実行すると、Vimは「findstr.exe」を検索し、Windows\System32にある正規のシステムバイナリではなく、現在のディレクトリにある悪意のあるバージョンを見つけてしまいます。これにより、VimはVimを実行しているユーザーと同じ権限で攻撃者のコードを実行することになります。
この脆弱性は、外部ユーティリティを呼び出すVimのいくつかの機能によってトリガーされる可能性があります。
:grepコマンド:!を介した外部コマンド実行- フィルターコマンド
- ビルドツール統合のための
:make - Vimスクリプトで
system()関数を使用するあらゆる機能
被害に遭うために特別な管理者権限は必要なく、攻撃は侵害されたディレクトリ内のファイルを開くだけで発生する可能性があります。Vimプロジェクトはこの脆弱性を、昇格された権限を必要とせずに任意コード実行が可能であるため、高危険度と評価しました。攻撃者は、マルウェアのインストール、機密データの窃取、ファイルの変更、または侵害されたユーザーのアカウント権限を使用したその他の悪意のあるアクションを実行することができます。特別な権限が不要であり、通常のVim操作を通じて脆弱性がトリガーされる可能性があるという事実は、この脅威を特に危険なものにしています。
対策と推奨事項
Vim開発チームは、バージョン9.1.1947でこの問題に対処しました。WindowsでVimを使用しているユーザーは、脆弱性を排除するために、このパッチが適用されたバージョン以降に直ちにアップグレードする必要があります。
この脆弱性は、Trend MicroのZero Day InitiativeのSimon Zuckerbraun氏によって最初に報告されました。同氏は、Vimが正規のシステムユーティリティの代わりにWindows電卓を起動するように騙される様子を実証しました。この脆弱性は、特に現在のディレクトリが検索パスにおいて特権的な位置を占めてきたWindowsにおいて、アプリケーションにおける慎重なパス処理の重要性を浮き彫りにしています。ユーザーは、信頼できないソースからのファイルを開くことに注意し、Windows版Vimのユーザーはこのセキュリティアップデートを優先して、システムを潜在的な悪用から保護する必要があります。
