文章总结: vm2沙箱库曝高危漏洞CVE-2026-22709,CVSS评分9.8分。漏洞因异步函数返回的globalPromise对象净化机制存在盲区,攻击者可利用未净化的catch方法突破沙箱在宿主机执行任意代码。该库月下载量超370万次,影响范围极大。维护者已发布3.10.2版本修复,建议立即升级以确保安全。 综合评分: 91 文章分类: 漏洞分析,漏洞预警,应用安全,代码审计,安全开发
CVSS 9.8高危沙箱逃逸漏洞,vm2缺陷危及数百万应用
FreeBuf
2026年1月27日 18:31 上海
Node.js 生态中广受欢迎的沙箱库 vm2 曝出重大安全漏洞(CVE-2026-22709),该漏洞 CVSS 评分高达 9.8 分,可使攻击者完全绕过沙箱环境,在宿主机上执行任意代码。数百万开发者使用该库运行不可信代码,受影响版本为 3.10.0 及以下。
Part01
漏洞原理分析
漏洞根源在于沙箱对 JavaScript Promise 的处理机制存在缺陷——特别是回调函数的净化机制。虽然 vm2 设计上会对本地 Promise.prototype.then 和 Promise.prototype.catch 的回调进行净化,但研究人员发现全局 Promise(globalPromise)存在盲区。
安全公告指出:”在 lib/setup-sandbox.js 中,本地 Promise.prototype.then 的回调函数会被净化,但 globalPromise.prototype.then 却未受净化。”由于”异步函数的返回值是 globalPromise 对象”,攻击者只需定义异步函数即可获取未净化的 Promise 对象引用,进而突破沙箱限制。
Part02
攻击链构造
攻击者可利用全局 Promise 上未净化的 catch 方法访问错误对象的构造函数,继而通过原型链溯源获取 Function 构造函数,最终在沙箱限制外生成新代码。公开的漏洞利用代码显示,攻击者可通过此链加载 child_process 模块执行系统命令(如 execSync(‘echo HELLO WORLD!’))。
Part03
影响范围与修复建议
vm2 每月下载量超过 370 万次,该漏洞潜在影响面极大。维护者已发布 3.10.2 版本修复该缺陷,强烈建议用户立即升级以确保沙箱安全。
参考来源:
CVSS 9.8 Sandbox Escape: Critical vm2 Flaw Exposes Millions of Apps
CVSS 9.8 Sandbox Escape: Critical vm2 Flaw Exposes Millions of Apps
#
#
#
推荐阅读
电台讨论
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:FreeBuf 《CVSS 9.8高危沙箱逃逸漏洞,vm2缺陷危及数百万应用》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论