製品・ソフトウェアに関する情報
vm2 projectのvm2における保護メカニズムの不具合に関する脆弱性
Title vm2 projectのvm2における保護メカニズムの不具合に関する脆弱性
Summary

vm2はNode.js向けのオープンソースのVM/サンドボックスです。バージョン3.11.0より前のvm2では、サンドボックスの境界違反によりホストオブジェクトの同一性がホストのPromise解決を通じてサンドボックス内に渡ってしまう問題がありました。ホスト側のPromiseがホストオブジェクトに解決され、それがサンドボックスに公開されると、サンドボックスの.then()コールバックに渡される値はホストの同一性を保持します。これにより、サンドボックスはホストのWeakMapを使った同一性チェックの実行やサンドボックス内部からホストオブジェクトの状態を変更することを含め、ホストオブジェクトと直接やり取りできてしまいます。この現象は、Promiseの履行ラッパーがより厳密なクロスリアルム変換パス(from() / プロキシラッピング)ではなくensureThis()を使用しているために発生します。プロトタイプマッピングが見つからない場合、ensureThis()は元のオブジェクトを返します。その結果、ホストPromiseによって解決されたオブジェクトが適切な隔離なしにサンドボックスの境界を越えることが可能になります。この脆弱性はバージョン3.11.0で修正されました。

Possible impacts 当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 
Solution

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date May 13, 2026, midnight
Registration Date May 18, 2026, 12:13 p.m.
Last Update May 18, 2026, 12:13 p.m.
CVSS3.0 : 重要
Score 7.2
Vector CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Affected System
vm2 project
vm2 3.11.0 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
No Changed Details Date of change
1 [2026年05月18日]
  掲載
May 18, 2026, 12:13 p.m.

NVD Vulnerability Information
CVE-2026-44000
Summary

vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, a sandbox boundary violation in vm2 allows host object identity to cross into the sandbox through host Promise resolution. When a host-side Promise that resolves to a host object is exposed to the sandbox, the value delivered to the sandbox .then() callback preserves host identity. This allows the sandbox to interact with the host object directly, including performing identity checks using host-side WeakMap and mutating host object state from inside the sandbox. This behavior occurs because the Promise fulfillment wrapper uses ensureThis() instead of the stronger cross-realm conversion path (from() / proxy wrapping). If no prototype mapping is found, ensureThis() returns the original object. As a result, objects resolved by host Promises can cross the sandbox boundary without proper isolation. This vulnerability is fixed in 3.11.0.

Publication Date May 14, 2026, 3:16 a.m.
Registration Date May 15, 2026, 4:21 a.m.
Last Update May 15, 2026, 12:35 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:vm2_project:vm2:*:*:*:*:*:node.js:*:* 3.11.0
Related information, measures and tools
Common Vulnerabilities List