【复现】n8n表达式注入可导致远程代码执行漏洞(CVE-2025-68613)

发布时间 2026-01-13

n8n是一个开源的工作流程自动化平台,旨在可视化连接应用程序和服务,实现任务自动化,并集成安全工具和SaaS平台。其基于Node.js构建,使用JavaScript作为平台内部结构和用户工作流程逻辑。


2025年12月20日n8n发布更新,修复了n8n中通过表达式注入导致远程代码执行漏洞(CVE-2025-68613),CVSS评分9.9分(严重)。问题出在工作流程中的表达式评估系统。在某些情况下,经过身份验证的用户输入的表达式可以在与底层运行时隔离不足的上下文中执行,这允许使用n8n进程的权限执行任意代码。实际上,成功利用可能导致:


• 完全控制实例

• 访问秘密(令牌、凭据、API 密钥)

• 持久修改工作流程

• 在系统级别执行命令

• 将 n8n 用作网络中的枢纽点


根据攻击面管理平台Censys的数据,截至2025年12月22日,互联网上存在103,476个潜在的易受攻击n8n实例。由于概念验证漏洞利用程序已经发布,并且该漏洞已在互联网上广泛传播,影响范围较大,提醒相关用户做好升级防护工作。


漏洞描述


在n8n的工作流表达式评估系统中,该系统在工作流配置中由认证用户提供的表达式在不安全的执行环境中被评估。核心安全漏洞是一个表达式注入漏洞,使经过认证的攻击者能够以n8n进程的权限执行任意JavaScript代码。具体来说:


• n8n处理用双大括号{{ }}包裹的用户输入,作为JavaScript代码,且没有足够的沙盒或输入验证。

• 表达式求值器缺乏适当的上下文隔离,使攻击者能够逃离预期的评估沙盒。

• 认证对该漏洞没有实质性的保护,任何经过认证的用户都可以利用它。


n8n官方描述为:n8n contains a critical Remote Code Execution (RCE) vulnerability in its workflow expression evaluation system. Under certain conditions, expressions supplied by authenticated users during workflow configuration may be evaluated in an execution context that is not sufficiently isolated from the underlying runtime.An authenticated attacker could abuse this behavior to execute arbitrary code with the privileges of the n8n process. Successful exploitation may lead to full compromise of the affected instance, including unauthorized access to sensitive data, modification of workflows, and execution of system-level operations.


影响范围


• 0.211.0 <= n8n < 1.120.4

• n8n  1.121.0


漏洞原理


该版本代码中存在多处安全问题:


(1)漏洞根源expression.ts文件中的resolveSimpleParameterValue函数中存在的安全问题如下:


• 代码将process对象暴露给了表达式求值的data上下文。

• 虽然只暴露了部分属性,但这个data.process引用的是实际的 Node.js process 对象。

• 攻击者可以通过this.process.mainModule.require()绕过沙箱限制访问完整的 process 对象。


图片1.png


(2)表达式求值入口expression-evaluator-proxy.ts文件中存在的安全问题如下:


• 使用Tournament库作为沙箱环境。

• 只有after阶段的PrototypeSanitizer和DollarSignValidator过滤器。

• 没有有效阻止通过this关键字访问执行上下文。


图片2.png


(3)沙箱初始化的expression.ts文件中的initializeGlobalContext函数中存在的安全问题如下:


• 只阻止了直接调用eval、Function等。

• 没有阻止通过process.mainModule.require()访问Node.js模块。

• 沙箱隔离不足,无法防止深层对象访问。


图片3.png


漏洞复现


图片4.png


可以看见命令执行的结果在右边。漏洞触发后,执行了系统命令,获取到了id的值。


安全建议


    立即升级:


    • n8n官方已发布修复版本n8n v1.122.0,强烈建议用户升级到1.122.0或更高版本。


    临时缓解措施:


    • 限制工作流创建和编辑权限仅限于完全信任的用户。

    • 将n8n部署在具有受限操作系统权限和网络访问权限的强化环境中,以减少潜在漏洞利用的影响。



    参考链接:

    [1]https://github.com/n8n-io/n8n/security/advisories/GHSA-v98v-ff95-f3cp



    启明星辰积极防御实验室(ADLab)


    ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截至目前,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计发布安全漏洞7000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖基础安全研究、运营商基础网络设施安全研究、移动终端安全研究、云安全研究、信创安全研究、物联网安全研究、车联网安全研究、工控安全研究、无线安全研究、数据安全研究、AI安全研究、低空安全研究、高级威胁研究、攻防体系建设。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。


    adlab.jpg