CVE-2026-43997vm2是Node.js的一个开源虚拟机和沙箱环境。在3.11.0版本之前,该组件存在严重的沙箱逃逸漏洞。攻击者能够成功获取宿主机对象,并利用其特性绕过沙箱限制,进而逃逸沙箱环境。这使得攻击者可以在宿主机上执行任意代码,对系统机密性、完整性和可用性造成严重影响。
该漏洞的核心在于vm2沙箱在处理对象属性时的隔离机制失效,使得恶意代码能够引用宿主机的对象。攻击者通过构造特定的JavaScript代码,在沙箱内部调用HostObject.getOwnPropertySymbols方法,尝试枚举并获取宿主对象的隐藏属性。关键利用点在于获取Symbol(nodejs.util.inspect.custom)符号,利用该符号可以访问Node.js的内部对象或触发特定的getter/setter。一旦成功引用宿主机对象,攻击者即可绕过沙箱的安全限制,利用JavaScript的原型链污染或直接调用process.binding等内部API,最终实现任意代码执行(RCE)并完全控制宿主服务器。