焦点资讯

主页 > 焦点资讯 >

vm2 再爆沙箱逃逸漏洞

  VM2 是 nodejs 实现的一个沙箱环境,一般用于测试不受信任的 JavaScript 代码。允许代码部分执行,可以预防对系统资源和外部数据的非授权访问。VM2 通过 NPM 的月下载量超过 1600 万,被广泛应用于 IDE、代码编辑器、FaaS 解决方案、渗透测试框架、安全工具和其他 JS 相关的产品中。

  handleException ( ) 函数负责处理沙箱中的异常以预防主机信息泄露。但如果攻击者设置一个定制的 getPrototypeOf ( ) 代理处理器来抛出未处理的主机异常,handleException ( ) 函数就无法处理该异常。那么攻击者就可以访问主机函数,即绕过沙箱的限制实现逃逸,并可以在主机环境内执行任意代码。

  Lee 同时在 GitHub 上发布了该漏洞的 PoC 代码以证明攻击的可行性,PoC 代码如下所示:

  漏洞影响 VM2 3.9.16 及之前版本。目前 VM2 已在 v3.9.17 版本中修复了该漏洞。建议所有用户和软件开发人员对包含了 VM2 库的项目进行升级以修改该漏洞。

扫一扫关注我们
微信二维码