GitHub Advisory Databaseに、launch-editorの脆弱性3件が掲載されています。Windowsでのパス処理や、エディタへ渡す引数の扱いに問題があり、条件によって意図しないファイルの上書きやOSコマンドの実行につながる恐れがあります。公表日は提供資料では確認できません。
Windowsの存在確認と「%」の処理に欠陥
CVE-2026-112942は、ファイルなどの存在確認を回避する欠陥です。影響するのはWindows上で動くアプリに限られます。
細工したパスの末尾が「..:line:column」の場合、launch-editorは行・列番号を取り除き、末尾を「..」にします。Windowsの存在確認はこれを実在する親ディレクトリとして扱うため、確認を通過します。勧告によると、攻撃者は悪意ある名前のファイルを配置する必要がなくなります。
もう一つのCVE-2026-112943は、Windowsのコマンド処理を担うcmdに渡す引数で、「%」を特別な意味に解釈されないよう処理していない欠陥です。環境変数に含まれた悪意ある内容が実行される恐れがあります。勧告は、Windowsで.bat/.cmdを起動するにはcmd.exeを経由する必要があると説明しています。
こちらはWindowsの利用に加え、「&」または「%」を含む名前のファイル配置が条件です。さらに、悪意ある環境変数の注入か、配置ファイルへのNTFS代替データストリームの追加が必要です。これはファイルに別のデータを付ける仕組みです。ただし、存在確認の回避と組み合わせる場合は、攻撃者がfile引数を制御できるとOSコマンド注入につながる恐れがあるとされています。
エディタへの引数でも意図しない操作の恐れ
CVE-2026-112944は、launch-editorがパスを安全な形に処理せず、エディタへ渡す欠陥です。パスが操作を指定するフラグとして扱われ、上書きやコマンド実行につながる恐れがあります。
対象エディタにはVim、gVim、MacVim、Emacs、Emacsclientが含まれます。Notepad++は、危険な操作をプラグインメッセージ経由で公開するプラグインを使う場合だけが対象です。
影響条件の一つは、攻撃者が作業ディレクトリに「+」か「-」で始まる項目を作れることです。直接利用では先頭引数がこれらの文字で始まり得ること、またはWindows上でLinux環境を使うWSLの利用も条件になります。ミドルウェアとして使う場合は、launch-editorがv2.2.0未満であること、またはWSLの利用も条件です。WSLでは内部でパスが相対パスに変換されます。
Vite 2.0.0以降では、他の条件も満たすWSL利用者だけが影響を受けるとされています。v2.2.0という数字だけを見て、3件すべての安全性を判断しないことが大切です。提供資料に3件の修正版は記載されていません。日本での提供は発表には書かれていません。
影響する会社・しない会社
- 影響する: Windows上のアプリでlaunch-editorを使い、攻撃者がfile引数を制御できる会社は、存在確認の回避と「%」処理の欠陥を組み合わせた攻撃の確認対象です。
- 影響する: 対象エディタを使い、作業ディレクトリへの項目作成や先頭引数、版、WSLなどの条件を満たす会社は、CVE-2026-112944の確認対象です。
- 影響しない: Windows上で動かないアプリは、Windows限定のCVE-2026-112942とCVE-2026-112943の対象外です。ただし、3件目まで対象外とは判断できません。
- 影響しない: Vite 2.0.0以降でWSLを使っていない環境は、勧告が示すCVE-2026-112944の対象条件に当たりません。ほかの2件は別に確認が必要です。
情シスが今日やること
特定の管理画面や対応期限は、提供資料には書かれていません。まず開発担当と、次の項目を確認してください。
- 今日の確認依頼として、各開発プロジェクトの依存関係の一覧からlaunch-editorの有無と版を調べてもらいます。直接利用かミドルウェア経由か、Viteを使う場合はその版も記録します。
- 該当プロジェクトの担当者に、WindowsとWSLの利用有無、起動するエディタを確認します。Notepad++では利用プラグインも確認対象に加えます。
- file引数をどこから受け取るか、攻撃者が作業ディレクトリへ項目を作れるかを、開発担当にコードと設定で確認してもらいます。環境変数の注入や、特殊な名前のファイル配置が可能かも切り分けます。
- 確認結果を3件の脆弱性ごとに分け、開発責任者へ共有します。修正版と対応期限は勧告の追加情報を確認して決め、版の数字だけで対応完了にしないよう依頼します。