つみかさね

CVE-2026-45411

Critical(9.8)

vm2の非同期ジェネレータ悪用によるRCE CVE-2026-45411:影響範囲と対応方法

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

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

製品ベンダー影響バージョン
vm2patriksimek (npm)< 3.11.3

対応ガイド

high|対応必須セキュリティ修正影響: 広範

推奨アクション

  1. 1npm ls vm2 で依存ツリー内のバージョンを確認する
  2. 2vm2 を 3.11.3 以降へアップデートする
  3. 3長期的には isolated-vm 等の代替や別プロセス隔離への移行を検討する

影響対象

vm2 でコードを隔離実行しているNode.jsアプリ運用者

対応不要な人

  • ✓vm2 を使用していない
  • ✓すでに 3.11.3 以降を使用中
  • ✓vm2 に信頼済みのコードしか渡していない

補足

  • -3.11.3 は同時期に公開された vm2 の脱出系脆弱性クラスタをまとめて修正するバージョンです
CVEvm2Node.jsサンドボックス脱出RCE

30秒で判断

  • 対応すべき人: vm2(npm)で信頼できないコードを隔離実行しているアプリ・サービスの運用者(3.11.3 未満)
  • 対応不要な人: vm2 を使用していない / すでに 3.11.3 以降を使用中 / vm2 に信頼済みコードしか渡していない
  • 確認方法: npm ls vm2 で依存ツリー内のバージョンを確認し、3.11.3 未満なら対象

概要

vm2 は Node.js 用のサンドボックスライブラリです。本脆弱性(CVE-2026-45411)は、非同期ジェネレータ内の yield* 式を使ってホスト側の例外を捕捉できてしまう点に起因します。ジェネレータが return で閉じられる際に値が await され、then 呼び出しで投げられた例外がランタイムに捕捉されて yield* のイテレータに次の値として渡されます。

この挙動を悪用すると、サンドボックスの外へ脱出してホストシステム上で任意コマンドを実行できます。深刻度は CVSS 9.8 と評価されており、vm2 の一連の脱出系脆弱性のうち最新の修正(3.11.3)で解消されています。

CVSSベクトル

指標値
CVSSスコア9.8
深刻度Critical
CWECWE-668(不正な領域へのリソース公開) / CWE-237(不適切な入れ子構造の扱い)
攻撃元区分ネットワーク
攻撃条件の複雑さ低
想定される影響機密性・完全性・可用性の広範な侵害(ホスト側RCE)

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

製品ベンダー影響バージョン
vm2patriksimek (npm)< 3.11.3

修正バージョンと回避策

  • vm2 3.11.3 以降へアップデートしてください。
  • 信頼できないコードの実行では、isolated-vm やコンテナ・別プロセスなどプロセス/VMレベルの隔離の併用を検討してください。
  • npm ls vm2 で推移的依存を含む依存ツリー全体を確認してください。

関連リンク


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

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