CVE-2026-92948 in vm2
要約
〜によって VulDB • 2026年09月18日
vm2 のバージョン >= 3.9.6 および <= 3.11.6 は、Node.js 24 以降において、エンベッダーが node:test ビルトインを明示的に許可している場合(例: `require: { builtin: ['node:test'] }`)、NodeVM のビルトインのホワイトリスト回避によりサンドボックス脱出が可能になる影響を受けます。Node.js 24+ では、module.builtinModules はスキーム固有のキー node:test を公開しますが、これは vm2 のファミリーベースの DANGEROUS_BUILTINS 保護対象外であるため、汎用のホストパススルーローダーに格納されます。lib/setup-node-sandbox.js 内の requireImpl() は、ビルトインルックアップの前に単一の 'node:' プレフィックスを削除するため、サンドボックスコードが `require('node:node:test')` を呼び出すと、保存された node:test キーに解決され、ホストモジュールへの読み取り専用プロキシを受け取ります。node:test.run() への呼び出しはホ実装へ転送され、プロセス分離テスト実行のために別の Node プロセスを起動し、攻撃者が制御可能な execArgv の値を通します。したがって、`--eval=<JavaScript>` を指定すると、NodeVM サンドボックス外の制限のないホスト Node プロセスで任意の JavaScript が実行されます。vm2 3.11.7 で修正されました。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.