vm2 projectのvm2における制限またはスロットリング無しのリソースの割り当てに関する脆弱性
タイトル vm2 projectのvm2における制限またはスロットリング無しのリソースの割り当てに関する脆弱性
概要

vm2はNode.jsのためのオープンソースの仮想マシン/サンドボックスです。3.11.0より前のバージョンでは、サンドボックス内のコードが任意のサイズでBuffer.alloc()を呼び出し、ホストのヒープ上に直接メモリを割り当てることが可能でした。Buffer.allocは同期的なC++ネイティブ呼び出しであるため、vm2のtimeoutオプションではこれを中断できません。その結果、単一のリクエストでホストのメモリを使い果たし、プロセスが「FATAL ERROR: Reached heap limit」というエラーでクラッシュする恐れがあります。この脆弱性は3.11.0で修正されました。

想定される影響 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

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

公表日 2026年5月13日0:00
登録日 2026年5月18日12:12
最終更新日 2026年5月18日12:12
CVSS3.0 : 重要
スコア 7.5
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
vm2 project
vm2 3.11.0 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
変更履歴
No 変更内容 変更日
1 [2026年05月18日]
  掲載
2026年5月18日12:12

NVD脆弱性情報
CVE-2026-44004
概要

vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, sandboxed code can call Buffer.alloc() with an arbitrary size to allocate memory directly on the host heap. Because Buffer.alloc is a synchronous C++ native call, vm2's timeout option cannot interrupt it. A single request can exhaust host memory and crash the process with a FATAL ERROR: Reached heap limit. This vulnerability is fixed in 3.11.0.

公表日 2026年5月14日3:16
登録日 2026年5月15日4:21
最終更新日 2026年5月15日0:22
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:vm2_project:vm2:*:*:*:*:*:node.js:*:* 3.11.0
関連情報、対策とツール
共通脆弱性一覧