【漏洞通告】vm2 沙箱逃逸漏洞(CVE-2026-22709)

发布时间 2026-01-28

一、漏洞概述


漏洞名称

vm2 沙箱逃逸漏洞

CVE   ID

CVE-2026-22709

漏洞类型

沙箱逃逸

发现时间

2026-1-28

漏洞评分

9.8

漏洞等级

严重

攻击向量

网络

所需权限

利用难度

用户交互

不需要

PoC/EXP

已公开

在野利用

未发现


vm2是一个用于在Node.js环境中创建隔离沙箱的库,允许在安全的环境中执行不可信的JavaScript代码。它通过模拟浏览器环境,提供了对代码执行的严格控制,防止恶意代码访问宿主系统的敏感资源。vm2允许在沙箱中运行代码,同时确保代码无法访问全局对象、模块、文件系统或执行危险的系统操作。它广泛用于需要执行动态代码且要求高安全性的场景,如在云服务平台、测试环境中执行未验证的脚本。


2026年1月28日,启明星辰集团VSRC监测到vm2中的一个沙箱逃逸漏洞,在受影响版本中,Promise.prototype.then和Promise.prototype.catch的回调函数未能有效地对传入的数据进行适当的过滤和隔离,导致攻击者能够绕过沙箱的限制,执行任意代码。具体来说,当异步函数返回一个globalPromise对象时,其回调没有经过充分的安全处理,攻击者可以利用这一点构造恶意代码,并在沙箱外部执行。通过精心设计的promise链,攻击者能够利用如Function构造器执行系统命令,实现沙箱逃逸。这使得攻击者能够在受保护环境中执行任意命令,严重危害系统安全。


二、影响范围


vm2 <= 3.10.0


三、安全措施


3.1 升级版本


官方已发布修复补丁,以修复该漏洞。
vm2 = 3.10.2


下载链接:https://github.com/patriksimek/vm2/releases/


3.2 临时措施


暂无。


3.3 通用建议


• 定期更新系统补丁,减少系统漏洞,提升服务器的安全性。
• 加强系统和网络的访问控制,修改防火墙策略,关闭非必要的应用端口或服务,减少将危险服务(如SSH、RDP等)暴露到公网,减少攻击面。
• 使用企业级安全产品,提升企业的网络安全性能。
• 加强系统用户和权限管理,启用多因素认证机制和最小权限原则,用户和软件权限应保持在最低限度。
• 启用强密码策略并设置为定期修改。


3.4 参考链接


https://github.com/patriksimek/vm2/security/advisories/GHSA-99p7-6v5w-7xg8/
https://nvd.nist.gov/vuln/detail/CVE-2026-22709/