English|中文
このリポジトリは、CVE-2026-44656の再現環境を提供します。この脆弱性は、Vimのmodeline内のpathオプションにおけるバッククォート展開式の処理の欠陥に起因します。攻撃者は、:findコマンドのTab補完機能を利用して任意のコマンド実行を引き起こすことができます。
pathオプションのバッククォート展開)pathにバッククォート式を含むように設定します。ユーザーが:find + Tabでパス補完をトリガーすると、式が評価され、任意のコマンドが実行されます。# 1. Dockerイメージをビルド
docker build -t cve_2026_44656_vim .
# 2. コンテナを実行
docker run -it cve_2026_44656_vim
# 3. コンテナ内でPoCファイルを開く
vim poc.txt
# 4. 脆弱性をトリガー
# 入力: :find
# その後、Tabキーを押してパス補完をトリガー
# 5. Vimを終了
# ESCを押し、:qと入力してEnterを押す
# 6. 脆弱性が悪用されたか確認
ls sakana.pwn # ./eval.shがバックグラウンドでファイルを作成
Dockerfile - 脆弱性のあるバージョンのVimを含むDebianベースのコンテナをビルドpoc.txt - 悪意のあるmodelineを含むPoCファイルeval.sh - 攻撃ペイロードスクリプト(検証用にsakana.pwnを作成)vimrc - modelineを有効にするVim設定ファイルvim/ - 脆弱性のあるVimバージョンのソースコードvimrcにset nomodelineを追加してmodeline処理を無効にするか、modelineが有効な状態で信頼できないファイルを開かないようにしてください。