文章总结: Node.js沙箱库vm2曝出高危漏洞CVE-2026-22709。因Promise回调清理机制疏漏,攻击者可绕过沙箱执行任意代码。该库周下载量达百万级,影响面广。官方已在3.10.2及后续版本中修复此问题,建议用户立即升级至最新版本以确保安全。 综合评分: 91 文章分类: 漏洞分析,漏洞预警
vm2 Node.js沙箱库曝高危漏洞 可突破沙箱执行任意代码
胡金鱼 胡金鱼
嘶吼专业版
2026年2月2日 14:00 北京
近日,Node.js沙箱库vm2曝出一个高危漏洞(CVE-2026-22709),攻击者可利用该漏洞突破沙箱限制,在底层主机系统上执行任意代码。
这款开源的vm2库能够创建安全执行环境,支持用户运行不受信任的JavaScript代码,且限制其访问文件系统,是实现代码隔离执行的常用工具。
vm2历来被广泛应用于支持用户脚本执行的SaaS平台、在线代码运行工具、聊天机器人及各类开源项目中,仅在GitHub平台上,使用该库的项目就超20万个。不过因沙箱逃逸漏洞频发,该项目曾在2023年停止维护,且被判定为不适用于运行不受信任的代码。
去年10月,项目维护者决定重启vm2项目,并发布3.10.0版本,该版本修复了当时已知的所有漏洞,同时保持“向下兼容至Node 6版本”的特性。
目前该库在npm平台上依旧拥有极高的人气,过去一年间,其周下载量稳定在100万次左右。
漏洞根源:数据清理机制存在疏漏
此次曝出的最新漏洞,根源在于vm2库未能对处理异步操作的Promise组件实现完善的沙箱隔离,导致无法确保代码始终在独立的隔离环境中执行。
vm2虽会对其自身内置Promise实现所绑定的回调函数做数据清理处理,但异步函数返回的是全局Promise对象,该对象的.then()和.catch()回调函数并未得到妥善的清理校验。
项目维护者表示:“在vm2 3.10.0版本中,Promise.prototype.then和Promise.prototype.catch的回调函数清理机制可被绕过”,而这一漏洞“会让攻击者得以突破沙箱限制,运行任意代码”。
据开发者介绍,vm2 3.10.1版本已对该CVE-2026-22709沙箱逃逸漏洞做出部分修复,后续推出的3.10.2版本则进一步强化了修复措施,避免漏洞被再次绕过。
同时开发者还公开了相关演示代码,展示了攻击者如何在vm2沙箱中触发该漏洞、实现沙箱逃逸,并在主机系统上执行命令。
已发布的漏洞利用片段
鉴于在受影响的vm2版本中,CVE-2026-22709漏洞的利用方式极为简易,官方建议所有用户尽快将库版本升级至最新版。
历史漏洞:沙箱逃逸问题屡发
vm2此前也曾多次曝出高危沙箱逃逸漏洞,其中包括被披露的CVE-2022-36067,攻击者利用该漏洞可突破隔离环境,在主机系统上执行命令。
2023年4月,研究人员发现另一同类漏洞(CVE-2023-29017),且相关利用程序随即被公开;同月晚些时候,研究人员又发布了CVE-2023-30547漏洞的利用程序,这也是影响vm2的又一个高危沙箱逃逸漏洞。
其开发者表示,目前vm2的最新版本为3.10.3,所有已披露的漏洞均在该版本中得到妥善修复。
参考及来源:https://www.bleepingcomputer.com/news/security/critical-sandbox-escape-flaw-discovered-in-popular-vm2-nodejs-library/
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:嘶吼专业版 胡金鱼 胡金鱼《vm2 Node.js沙箱库曝高危漏洞 可突破沙箱执行任意代码》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论