概要
テキストエディタ Vim のnetrwプラグインにコードインジェクションの脆弱性が確認されました。CVSSスコアは8.8(HIGH)です。
netrwプラグインの s:NetrwBookHistSave() 関数において、ファイルシステムから取得したディレクトリ名が履歴ファイル(~/.vim/.netrwhist)のVimscript文字列リテラルにエスケープなしで補間されます。シングルクォートを含む細工されたディレクトリ名により、文字列コンテキストを脱出して任意のVimscriptを埋め込むことが可能です。次回Vimが履歴ファイルを読み込む際、system() や :! コマンド経由でシェルコマンドが実行されます。
CVSSベクトル
| 項目 | 値 |
|---|---|
| スコア | 8.8 (HIGH) |
| 攻撃元区分 (AV) | ネットワーク (N) |
| 攻撃条件の複雑さ (AC) | 低 (L) |
| 必要な特権 (PR) | 低 (L) |
| ユーザー操作 (UI) | 不要 (N) |
| CWE | CWE-74(インジェクション), CWE-94(コードインジェクション) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| Vim | vim-dev | 9.2.0494 以前 |
netrwプラグインのファイルブラウズ機能(:Explore 等)を利用している環境で影響があります。
修正バージョンと回避策
修正バージョン: Vim v9.2.0495
パッケージマネージャまたはVimの公式リリースページからアップデートしてください:
# Ubuntu / Debian
sudo apt update && sudo apt upgrade vim
# macOS (Homebrew)
brew upgrade vim
回避策: netrwの履歴機能を無効化することで悪用リスクを低減できます:
" ~/.vimrc に追加
let g:netrw_dirhistmax = 0
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
