CVE-2026-92958 in vm2
要約
〜によって VulDB • 2026年09月17日
vm2の3.0から3.11.6までのバージョンには、NodeVMにおけるビルトインモジュールのdenylist(拒否リスト)バイパスが含まれています。エンベッダーがワイルドカードとネガティブエントリ(例: `require: { builtin: ['*', '-fs', '-child_process'] }`)を併用した場合、lib/builtin.js内ではネガティブエントリが正確なモジュール名でマッチングされるため、`-fs`はビルトインの`fs`のみを除外し、`fs/promises`などのサブパスは除外されません。その結果、サンドボックス化されたコードは`require('fs/promises')`や`require('node:fs/promises')`を実行でき、`fs`が拒否されているにもかかわらず、PromiseベースのファイルシステムAPIにアクセスできます。また、`node:`プレフィックスの処理も一貫性がなく(例:`-node:fs/promises`エントリは`require('fs/promises')`をブロックしません)、ホストへのファイル作成および書き込みが`fsp.writeFile()`を通じて確認されており、その他の`fs/promises`操作(cp, mkdir, rename, rm, rmdir, truncate, read操作など)も到達可能です。この問題はvm2 3.11.7で修正されています。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.