Vim の脆弱性 CVE-2026-34714 が FIX:武器化されたファイルによる任意のコマンド実行

Vim Vulnerability Let Attackers Execute Arbitrary Command Via Weaponized Files

2026/03/30 CyberSecurityNews — 開発者の間で広く使用されるテキストエディタ Vim において、きわめて深刻なセキュリティ脆弱性 CVE-2026-34714 (CVSS:8.2) が発見された。この脆弱性を悪用する攻撃者は、特別に細工されたファイルをユーザーに開かせるだけで、任意の OS コマンド実行を可能にする。このバグ・チェーンは、アプリケーションがファイル内に埋め込まれた命令を処理する仕組みにおける、継続的なリスクを示すものである。

Vim のコマンド実行の脆弱性

この脆弱性は、Vim の modeline コンフィグ機能と内部サンドボックス・メカニズムの欠陥という、2 つのバグの組み合わせに起因する。

Vim における tabpanel オプションは、statusline や tabline と同様のフォーマット文字列を受け付ける。しかし、これらの安全なオプションがあるにも関わらず、tabpanel には重要なセキュリティ・フラグ P_MLE が欠落している。

通常、このフラグは、modelineexpr 設定が有効化されている場合のみ、危険な式の評価を許可する役割を持つ。

このセキュリティ・フラグが完全に欠如しているため、modeline の標準セキュリティ・チェックがバイパスされてしまう。その結果として、この欠陥を突く攻撃者は、modelineexpr が無効化されている場合であっても、任意の式文字列をファイル内に注入できてしまう。

不正設定を検知した Vim は、式を制限付きサンドボックス内で評価するが、autocmd_add() 関数に check_secure() 検証が存在しないという第二の欠陥により、その評価が回避されてしまう。

この欠陥により、サンドボックス内の悪意コードにより autocommand の登録が可能になり、サンドボックス終了後の実行に至るため、制限が回避されてしまう。

この攻撃は、ファイルを開くだけで成立し、追加のユーザー操作を必要としない。つまり、Vim ユーザーが細工されたファイルを開くと、前述のペイロードが自動実行される。その結果として攻撃者は、カレント・ユーザーと同一の権限で任意のコマンド実行を可能にする。

modeline 機能はデフォルトで有効化されており、modelineexpr の有効化も不要であるため、この脆弱性の攻撃面は広い。さらに、tabpanel 機能は標準ビルドで有効化されているため、多くのデフォルト環境が影響を受ける。

ユーザーおよび管理者は、直ちにアップデートを適用する必要がある。

すでに Vim 開発チームは、欠落していたセキュリティ・チェックを修正し、GitHub 上でパッチを公開している。Vim バージョン 9.2.0272 以降へとアップグレードすることで、この脆弱性およびサンドボックス・エスケープは完全に修正される。