CVSS9.8高危沙箱逃逸漏洞,vm2缺陷危及数百万应用

admin 2026-01-28 06:54:24 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: vm2沙箱库曝高危漏洞CVE-2026-22709,CVSS评分9.8分。漏洞因异步函数返回的globalPromise对象净化机制存在盲区,攻击者可利用未净化的catch方法突破沙箱在宿主机执行任意代码。该库月下载量超370万次,影响范围极大。维护者已发布3.10.2版本修复,建议立即升级以确保安全。 综合评分: 91 文章分类: 漏洞分析,漏洞预警,应用安全,代码审计,安全开发


cover_image

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缺陷危及数百万应用》

评论:0   参与:  0