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 以降へとアップグレードすることで、この脆弱性およびサンドボックス・エスケープは完全に修正される。
訳者後書:テキストエディタ Vim における、深刻な脆弱性 CVE-2026-34714 (CVSS 8.2) について解説する記事です。この問題の原因は、ファイルごとに固有の設定を読み込む modeline 機能と、危険な命令を隔離して実行する サンドボックス機構の両方に、深刻なプログラム上の不備が重なったことにあります。この攻撃は、特別な設定をしていなくても、悪意のファイルを開くだけで成立してしまうため、非常に影響範囲が広くなっています。ご利用のチームは、ご注意ください。よろしければ、Vim での検索結果も、ご参照ください。
You must be logged in to post a comment.