つみかさね

CVE-2026-34982

High(8.2)

Vimのモードラインサンドボックスバイパスによる任意コード実行 CVE-2026-34982:影響範囲と対応方法

公開日: 2026-07-08データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
VimBram Moolenaar / Vim contributors< 9.2.0276

対応ガイド

high|推奨セキュリティ修正影響: 限定的

推奨アクション

  1. 1vim --versionでVimのバージョンを確認する
  2. 29.2.0276未満の場合、ディストリビューションのパッケージマネージャーでアップデートする
  3. 3即時アップデートが困難な場合は ~/.vimrc に set nomodeline を追加してモードラインを無効化する

影響対象

Vim 9.2.0276未満の利用者

補足

  • -モードラインの無効化は一部の設定ファイルの自動読み込みが機能しなくなる可能性があります
CVEVimモードラインサンドボックスバイパス任意コード実行テキストエディタ

30秒で判断

対応すべき人:

  • Vim 9.2.0276未満を使用している
  • 信頼できないソースからファイルを受け取ることがある(コードレビュー、メール添付、ダウンロード等)
  • モードライン(:set modeline)が有効になっている

対応不要な人:

  • Vim 9.2.0276以降を使用している
  • Neovimのみ使用している(別のコードベース、影響範囲は異なる)
  • モードラインを無効化している(set nomodeline

確認コマンド:

# バージョン確認
vim --version | head -1

# モードライン設定確認
vim -e -c 'set modeline?' -c 'quit'

概要

Vim 9.2.0276未満に、モードラインのサンドボックスを回避して任意のOSコマンドを実行できる脆弱性が存在します(CWE-78)。

問題の詳細:

  1. completeguitabtooltipprintheaderの3つのオプションに、サンドボックス化が必要であることを示すP_MLEフラグが欠落している
  2. mapset()関数がサンドボックス制限を確認するcheck_secure()を呼び出していないため、サンドボックス化された式から安全でない操作が実行できる

これらの欠陥を組み合わせることで、細工されたVimファイルをVimで開くだけで、モードライン経由でOSコマンドが実行されます。ターミナル経由での攻撃、メール添付ファイル、リポジトリ内の悪意あるファイル等が攻撃ベクターになります。


CVSSベクトル

項目
スコア8.2
深刻度High
CWECWE-78(OSコマンドインジェクション)
攻撃元区分ローカル (AV:L)
攻撃条件の複雑さ低 (AC:L)
必要な特権レベル不要 (PR:N)
ユーザー関与必要 (UI:R) ※ファイルを開く操作
機密性への影響高 (C:H)
完全性への影響高 (I:H)
可用性への影響高 (A:H)

影響を受けるソフトウェア

製品影響バージョン修正バージョン
Vim9.2.0276未満9.2.0276以降

修正バージョンと回避策

推奨対応: Vim 9.2.0276以降へアップデート

# ディストリビューション経由の更新
sudo apt update && sudo apt upgrade vim  # Debian/Ubuntu
sudo dnf update vim                       # RHEL/Fedora

# ソースからビルドする場合
# https://github.com/vim/vim/releases/tag/v9.2.0276

暫定的な回避策: ~/.vimrcにモードラインを無効化する設定を追加

set nomodeline

関連リンク


データソース: NVD (NIST), GitHub Advisory Database
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。