vm2是在vm的基础上实现的沙箱,可以使用列入白名单的Node内置模块运行不受信任的代码。
近日,奇安信CERT监测到vm2远程代码执行漏洞(CVE-2023-29017),由于vm2处理异步错误时未正确处理Error.prepareStackTrace的宿主对象,导致攻击者可以绕过沙箱保护,在运行沙箱的主机上远程执行任意代码。值得注意的是,经测试,在Node.js <= 16.14.0、Node.js <= 17.4.0以及Node.js 16.xx以下的所有版本不受此漏洞影响。鉴于此漏洞影响范围较大,建议客户尽快做好自查及防护。
漏洞名称 | vm2 远程代码执行漏洞 | ||
公开时间 | 2023-04-06 | 更新时间 | 2023-04-11 |
CVE编号 | CVE-2023-29017 | 其他编号 | QVD-2023-8385 |
威胁类型 | 代码执行 | 技术类型 | 代码管理不恰当 |
厂商 | vm2 | 产品 | vm2 |
风险等级 | |||
奇安信CERT风险评级 | 风险等级 | ||
高危 | 蓝色(一般事件) | ||
现时威胁状态 | |||
POC状态 | EXP状态 | 在野利用状态 | 技术细节状态 |
已公开 | 未公开 | 未发现 | 未公开 |
漏洞描述 | 由于vm2处理异步错误时未正确处理Error.prepareStackTrace的宿主对象,导致攻击者可以绕过沙箱保护,在运行沙箱的主机上远程执行任意代码。 | ||
影响版本 | vm2 <= 3.9.14 同时需要 Node.js 版本满足以下条件: Node.js > 16.14.0 Node.js > 17.4.0 Node.js 18.x Node.js 19.x | ||
不受影响版本 | vm2 >= 3.9.15; Node.js <= 16.14.0; Node.js <= 17.4.0; Node.js 16.xx以下所有版本 | ||
其他受影响组件 | 其他使用vm2库的产品 |
目前,奇安信CERT已成功复现vm2 远程代码执行漏洞(CVE-2023-29017),截图如下:
威胁评估
漏洞名称 | vm2远程代码执行漏洞 | |||
CVE编号 | CVE-2023-29017 | 其他编号 | QVD-2023-8385 | |
CVSS 3.1评级 | 高危 | CVSS 3.1分数 | 10.0 | |
CVSS向量 | 访问途径(AV) | 攻击复杂度(AC) | ||
网络 | 低 | |||
用户认证(Au) | 用户交互(UI) | |||
无 | 不需要 | |||
影响范围(S) | 机密性影响(C) | |||
改变 | 高 | |||
完整性影响(I) | 可用性影响(A) | |||
高 | 高 | |||
危害描述 | 攻击者利用此漏洞可以绕过沙箱保护,在运行沙箱的主机上远程执行任意代码。 |
处置建议
目前vm2官方已发布可更新版本,建议受影响用户升级至3.9.15及以上版本。
https://github.com/patriksimek/vm2/releases/tag/3.9.15
产品解决方案
奇安信开源卫士已支持
奇安信开源卫士20230411.230版本已支持对vm2 远程代码执行漏洞(CVE-2023-29017) 的检测。
奇安信网站应用安全云防护系统已更新防护特征库
奇安信网神网站应用安全云防护系统已全局更新所有云端防护节点的防护规则,支持对vm2 远程代码执行漏洞(CVE-2023-29017)的防护。
奇安信天眼产品解决方案
奇安信天眼新一代威胁感知系统在第一时间加入了该漏洞的检测规则,请将规则包升级到3.0.0411.13812上版本。规则名称:VM2 远程代码执行漏洞(CVE-2023-29017),规则ID:0x100215BC。奇安信天眼流量探针(传感器)升级方法:系统配置->设备升级->规则升级,选择“网络升级”或“本地升级”。
参考资料
[1]https://github.com/patriksimek/vm2/security/advisories/GHSA-7jxr-cg7f-gpgv
声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。