注目★★★★★GitHub Advisory
VM2 サンドボックスに Error.cause 経由の RCE 脆弱性、即アップデート必須
30秒で把握
- 1VM2 ≦3.11.3 に Error.cause の未検証で RCE 脆弱性(CVSS 9.9)が発見
- 2handleException() が .cause プロパティをスキップ、ホスト side の process オブジェクトへの参照経由で攻撃成立
- 3即 3.11.4 以上へアップデート必須・外部コード評価環境での依存チェーンから VM2 の有無を確認
要約
VM2 3.11.3 以下に Error.cause の検証不足による重大脆弱性(CVSS 9.9)が判明した。エラーハンドリング関数 `handleException()` が ES2022 の `.cause` プロパティをサニタイズせず、ホスト側の強力なオブジェクト(`process` 等)への参照を通して任意コード実行が可能になる。ドキュメント上は `Error.cause` の検証を謳いながら実装に漏れがあり、埋め込み側がエラーをスローする際に `.cause` で `process` を参照させるだけで攻撃が成立する。即座に 3.11.4 以上へのアップデートが必須。
あなたへの影響
VM2 をコードの安全な実行環境として採用しているプロダクトはサンドボックスの前提が崩壊しているため即時対応が必要。当該環境で外部の動的コード実行(script タグ評価や function 生成)をしている場合、現在実行中のプロセスが完全に危殆化している可能性を想定し、アクセスログ監査と本番鍵の rotate も併行すべき。
推奨:依存チェーン(package.json / package-lock.json)から vm2 の使用を特定し、3.11.4 以上への更新を本番環境デプロイ前に完了させることが重要。