{#section path-to-node="4"}
{#section-1 path-to-node="4"}
0x00 前言:中枢节点的防御崩塌
在现代企业的自动化架构中,n8n 往往充当着"神经中枢"的角色,通过 400 多个节点连接着 AWS、GitHub、数据库及内部 ERP 系统。然而,近期 CISA(美国网络安全和基础设施安全局)紧急将 n8n 的远程代码执行(RCE)漏洞列入 KEV(已知漏洞利用)目录。
对于架构师而言,这意味着一旦 n8n 实例失陷,攻击者将直接获取所有集成插件的 API Credentials 和内网访问权。
{#section-2 path-to-node="8"}
0x01 技术底座漏洞:CVE-2025-68613 深度拆解
此次漏洞的核心在于 n8n 表达式评估引擎对用户输入过滤的失效。
1. 表达式注入原理
n8n 允许用户在工作流中使用 {{ $json.field }} 语法编写 JavaScript 表达式。这些表达式在 Node.js 环境下的沙箱(Sandbox)内运行。
-
攻击向量:攻击者通过构造恶意的 JavaScript 对象的
constructor属性,绕过沙箱对process或require的访问限制。 -
Payload 逻辑:利用原型链污染(Prototype Pollution)或全局对象引用,实现从受限的表达式评估环境逃逸,直接调用宿主机的
child_process.exec。
{#section-3 path-to-node="13"}
2. "Ni8mare" (CVE-2026-21858) 连锁反应
除了 RCE,n8n 还面临任意文件读取风险。攻击者通过伪造 multipart/form-data 的 Content-Type,诱导服务器将敏感配置文件(如 .n8n/config)作为普通表单数据处理。
- 后果:获取
N8N_ENCRYPTION_KEY。一旦加密密钥泄露,数据库中存储的所有加密凭据均可被静态解密。
{#section-4 path-to-node="17"}
0x02 架构影响:爆炸半径 (Blast Radius) 评估
从安全分析师的视角看,n8n 的失陷并非单一服务的崩溃,而是整个自动化链路的溃败:
-
凭据全泄露:n8n 数据库中存储的 OAuth Tokens、SSH Keys、数据库密码将处于裸奔状态。
-
内网渗透跳板:由于 n8n 通常部署在内网环境并拥有访问敏感服务的权限,它是实施**横向移动(Lateral Movement)**的绝佳跳板。
-
供应链完整性:若 n8n 负责 CI/CD 流水线,攻击者可直接向生产代码中植入后门。
{#section-5 path-to-node="21"}
0x03 深度防御与加固方案
针对此事件,仅仅通过常规更新是不够的,建议从底层架构进行加固:
-
版本强制升级:立即部署 v1.121.0 或 v2.x 以上版本。CISA 要求联邦机构必须在 2026 年 3 月 25 日前完成此操作。
-
Runtime 环境加固:
-
非 Root 运行:确保 Node.js 进程运行在低权限用户下。
- **Seccomp 限制**:在 Docker/K8s 中配置 Seccomp Profile,禁止 n8n 容器调用非必要的系统调用(如 `execve`{index-in-node="66" path-to-node="23,1,1,1,0"})。
-
网络微隔离 (Micro-segmentation):
-
利用控制平面限制 n8n 的 Egress 流量,仅允许其访问已授权的 API 端点。
-
Credential 管理优化:
-
逐步从硬编码凭据转向使用动态秘钥管理工具(如 HashiCorp Vault),利用 n8n 的外部 Secret 存储功能。
{#section-6 path-to-node="25"}
结语
低代码平台赋予了业务敏捷性,但也带来了巨大的受攻击面。在构建自动化工作流时,安全边界不应仅止于 WAF,更应深入到执行引擎的沙箱机制与身份验证的完整性中。