VM2爆10分漏洞,PoC公开。
VM2是nodejs 实现的一个沙箱环境,一般用于测试不受信任的 JavaScript 代码。允许代码部分执行,可以预防对系统资源和外部数据的非授权访问。VM2通过NPM的月下载量超过1600万,被广泛应用于IDE、代码编辑器、FaaS解决方案、渗透测试框架、安全工具和其他JS相关的产品中。
韩国科学技术院(KAIST)WSP实验室博士生Seongil Wi在VM2中发现了一个安全漏洞,漏洞CVE编号为CVE-2023-29017,CVSS 评分10分。漏洞产生的原因是VM2处理传递给`Error.prepareStackTrace`的host对象不当造成的未处理的异步错误。攻击者利用该漏洞可以绕过沙箱保护以在运行沙箱的主机上获得远程代码执行权限,最终可以执行任意shell代码。
漏洞影响vm2 3.9.14之前版本。VM2已在发布的3.9.15版本中修复了该漏洞。
VM2在发布补丁后,Seongil Wi在GitHub上发布了CVE-2023-29017漏洞利用的两个变种。PoC可以在运行VM2的主机上创建一个名为flag的文件,证明VM2沙箱保护被成功绕过,运行命令执行来在主机系统上创建任意文件。
PoC代码参见:https://gist.github.com/seongil-wi/2a44e082001b959bfe304b62121fb76d
参考及来源:https://www.bleepingcomputer.com/news/security/exploit-available-for-critical-bug-in-vm2-javascript-sandbox-library/