最新消息:关注人工智能 AI赋能新媒体运营

Node.js沙箱库vm2再次曝出重大逃逸漏洞

科技资讯 admin 浏览

Node.js沙箱库vm2曝出严重沙箱逃逸漏洞CVE-2026-26956

Node.js沙箱库vm2存在重大沙箱逃逸漏洞CVE-2026-26956,受影响版本为3.10.4,修复版本为3.10.5。GitHub安全公告显示,该漏洞严重性等级为高危,CVSS v3.1评分为9.8。攻击者若能将精心构造的代码交由VM.run()执行,即可突破沙箱限制,在主机系统上执行任意命令。PoC代码片段与poc.js文件已在GitHub公开,建议用户立即升级至vm2 3.10.5或更高版本。

vm2用于在受限环境中执行不可信的JavaScript代码,常见应用场景包括在线代码执行平台、SaaS应用中的用户脚本运行以及自动化工具等。其核心机制是通过沙箱隔离,防止执行的代码直接访问主机系统的进程、文件系统或其他敏感Node.js API。

CVE-2026-26956破坏了vm2的隔离机制。官方确认该漏洞可在vm2 3.10.4配合Node.js v25.6.1的x64 Linux环境中触发,触发条件为攻击者控制传入VM.run()的代码,且Node.js版本支持WebAssembly异常处理与JSTag功能。

vm2的安全防护依赖于JavaScript层的代码转换和跨环境对象代理机制,而该漏洞利用WebAssembly在更低层级捕获异常,导致主机环境产生的TypeError未被vm2清理即返回沙箱内部。攻击代码可借此沿着对象构造函数链,获取主机环境的进程对象,进而调用child_process模块执行任意系统命令。

此前,vm2在今年初曾披露另一沙箱逃逸漏洞CVE-2026-22709,因Promise.prototype.then与Promise.prototype.catch的回调清理机制可被绕过,攻击者可借此突破沙箱隔离并执行任意代码。受影响版本为3.10.0及更早版本,vm2已在3.10.2版本中修复,严重性同样为高危等级。