← LeisureLinux 文章索引
LeisureLinux · 微信公众号文章

自动化平台的“噩梦”:从表达式注入到沙箱逃逸,解析 n8n 高危 RCE 漏洞防御方案

安全/漏洞 阅读原文(微信)↗

{#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 属性,绕过沙箱对 processrequire 的访问限制。

  • 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 深度防御与加固方案

针对此事件,仅仅通过常规更新是不够的,建议从底层架构进行加固:

  1. 版本强制升级:立即部署 v1.121.0v2.x 以上版本。CISA 要求联邦机构必须在 2026 年 3 月 25 日前完成此操作。

  2. Runtime 环境加固

  3. 非 Root 运行:确保 Node.js 进程运行在低权限用户下。

-   **Seccomp 限制**:在 Docker/K8s 中配置 Seccomp Profile,禁止 n8n 容器调用非必要的系统调用(如 `execve`{index-in-node="66" path-to-node="23,1,1,1,0"})。
  1. 网络微隔离 (Micro-segmentation)

  2. 利用控制平面限制 n8n 的 Egress 流量,仅允许其访问已授权的 API 端点。

  3. Credential 管理优化

  4. 逐步从硬编码凭据转向使用动态秘钥管理工具(如 HashiCorp Vault),利用 n8n 的外部 Secret 存储功能。

{#section-6 path-to-node="25"}

结语

低代码平台赋予了业务敏捷性,但也带来了巨大的受攻击面。在构建自动化工作流时,安全边界不应仅止于 WAF,更应深入到执行引擎的沙箱机制与身份验证的完整性中。

本文整理自微信公众号 LeisureLinux 的原创内容(Linux / AI / 安全 硬核技术)。

· 阅读原文(微信公众号)

· 关注公众号 LeisureLinux,第一时间获取技术深度内容。

LeisureLinux 公众号二维码(微信扫一扫关注)