Claude AIがVim・GNU Emacsのゼロデイ脆弱性を発見——ファイルを開くだけでRCE
AIアシスタント「Claude」を使ったシンプルなプロンプトによって、テキストエディタ「Vim」および「GNU Emacs」にリモートコード実行(RCE)の脆弱性が発見された。いずれも細工されたファイルを開くだけでコードが実行されるという深刻なものだ。
発見したのは、AIレッドチーミングとセキュリティエンジニアリングを専門とするセキュリティ企業「Calif」の研究者、Hung Nguyen氏。Claude に「ファイルを開くだけでトリガーされるRCEのゼロデイ脆弱性を探せ」と指示したところ、Claudeはソースコードを分析し、複数の脆弱性を特定。さらにPoC(概念実証コード)を自動生成・改善し、修正案まで提示した。
Vimの脆弱性——パッチ済み
Vimの脆弱性は、モードライン(modeline)処理における不十分なセキュリティチェックに起因する。モードラインとはファイル先頭に記述するVimへの設定指示で、これを悪用することでファイル内に埋め込んだコードを実行させることができる。
本来はサンドボックス内での実行に限定されるはずだが、別の問題によってその制限を回避し、現在のユーザー権限で任意のコマンドを実行できてしまう。
- 影響バージョン: Vim 9.2.0271以前のすべてのバージョン
- CVE: 未採番
- 対応状況: Vim 9.2.0272でパッチ済み
開発チームのセキュリティ情報には「攻撃者が細工したファイルを送りつけることで、Vimを実行しているユーザー権限で任意コマンドが実行される」と明記されている。
GNU Emacsの脆弱性——未修正のまま
GNU Emacsの問題は、バージョン管理システムとの統合機能(vc-git)に潜む。ファイルを開くと vc-refresh-state 経由でGit操作が走り、.git/config が読み込まれる。このとき、設定ファイルに記述された core.fsmonitor プログラムが自動実行される仕組みを悪用される。
攻撃シナリオとしては、隠し .git/ ディレクトリと悪意あるコンフィグファイルを含むアーカイブ(メール添付やクラウドドライブ共有など)を被害者に送りつけ、展開後にテキストファイルを開かせるだけでペイロードが実行される。GUI上には何も表示されないため、被害に気づきにくい。
GNU Emacsの開発チームは「これはGitの問題であり、エディタ側で対処するものではない」という立場を取っている。技術的には確かにコードをGitが実行しているが、エディタがユーザーの同意なく信頼されていないディレクトリでGitを自動実行している点でリスクは現実的だ。
Nguyen氏はGitの呼び出し時に core.fsmonitor を明示的にブロックするよう修正することを提案しているが、最新版でも未修正のまま。不明な出所のファイルやインターネットからダウンロードしたファイルを開く際は細心の注意が必要だ。
AI活用による脆弱性発見の新潮流
今回の発見は、LLM(大規模言語モデル)をセキュリティリサーチに活用する手法の有効性を改めて示す事例となった。VimはLinuxサーバーのほぼすべてのディストリビューションにデフォルトでインストールされており、DevOpsやシステム管理者に広く使われているだけに、パッチ適用は早急に行うことを強く推奨する。
Vim利用者はただちにバージョン9.2.0272以降へアップデートすること。GNU Emacsユーザーは修正が提供されるまで、出所不明なファイルを開かないよう注意されたい。
元記事: Claude AI finds Vim, Emacs RCE bugs that trigger on file open