CVE-2026-44000vm2是Node.js的一个开源沙箱库。在3.11.0版本之前,该组件存在沙箱边界违规漏洞。攻击者可以通过主机Promise的解析机制,将主机对象的身份引入沙箱环境。这使得沙箱内的恶意代码能够直接与主机对象交互,包括利用主机端的WeakMap进行身份检查或从沙箱内部变更主机对象状态,从而破坏了沙箱的隔离性,导致潜在的安全风险。
该漏洞源于vm2在处理Promise解析时的逻辑缺陷。当主机端的Promise解析为一个主机对象并暴露给沙箱时,Promise的fulfillment wrapper内部使用了`ensureThis()`方法。如果未找到对应的原型映射,`ensureThis()`会直接返回原始的主机对象,而不是通过更严格的跨域转换路径(如`from()`或proxy包装)进行隔离处理。因此,攻击者可以利用这一机制,构造特定的Promise传递给沙箱,使得沙箱代码能够获取并操作主机对象的引用,进而绕过沙箱的安全限制,实现读取主机内存数据或修改主机状态的效果。