CVE-2026-22686Enclave是一款专为AI智能体代码安全执行设计的JavaScript沙箱环境。在2.7.0版本之前,enclave-vm存在严重的沙箱逃逸漏洞,允许不受信任的沙箱化JavaScript代码在主机Node.js运行时环境中执行任意代码。该漏洞的核心问题在于:当工具调用失败时,enclave-vm会将主机端的Error对象暴露给沙箱化代码。这个Error对象保留了主机域的原型链,攻击者可以通过遍历原型链访问主机端的Function构造函数。利用主机Function构造函数,攻击者可以编译并执行任意JavaScript代码,完全绕过沙箱限制,从而访问敏感资源如process.env、文件系统和网络。此漏洞破坏了enclave-vm隔离不受信任代码的核心安全保证,CVSS评分达到满分10.0,属于最严重的安全漏洞级别。
漏洞原理:当沙箱中的JavaScript代码触发工具调用失败时,enclave-vm会将一个主机端的Error对象传递给沙箱代码。该Error对象保留了完整的主机域原型链,即Error.prototype -> Object.prototype -> Function.prototype。攻击者可以通过以下方式利用:1) 故意触发主机错误;2) 遍历原型链获取Function构造函数;3) 使用Function构造函数构造任意JavaScript代码字符串;4) 在主机上下文中执行该代码。攻击者利用此方式可以完全绕过沙箱限制,直接访问主机的process.env获取环境变量和敏感信息,访问fs模块进行任意文件读写操作,以及进行网络请求等危险操作。修复方案在2.7.0版本中移除了对主机端Error对象的直接暴露,或对原型链进行了隔离处理。