CVE-2026-25049 n8n 漏洞
n8n 工作流自动化平台中新披露的一个安全漏洞允许在特定条件下执行任意系统命令。该漏洞编号为 CVE-2026-25049,CVSS 评分为 9.4,属于严重级别。如果成功利用该漏洞,攻击者可以在托管 n8n 的服务器上执行系统级命令。
目录
绕过先前已修复的漏洞
CVE-2026-25049 源于清理不足,绕过了为修复 CVE-2025-68613(CVSS 9.9)而引入的保护措施。CVE-2025-68613 是一个严重漏洞,已于 2025 年 12 月修复。后续分析表明,新的 CVE 实际上是对原始修复的绕过,而非一个完全不同的问题。研究人员已证实,这两个漏洞都允许攻击者逃逸 n8n 的表达式沙箱并绕过现有的安全检查。在之前的披露之后,表达式求值中的其他弱点也已被发现并修复。
攻击前提条件和利用机制
任何拥有创建或修改工作流权限的已认证用户都可以利用此漏洞。通过将精心构造的表达式注入工作流参数,攻击者可以触发意外的系统命令执行。一个特别危险的场景是创建一个无需身份验证即可公开访问的 Webhook 的工作流。攻击者只需嵌入一行使用解构语法的 JavaScript 代码,即可使工作流执行系统命令。一旦此类工作流被激活,任何外部方都可以触发 Webhook 并远程执行命令。
当与 n8n 的 webhook 功能结合使用时,严重性会进一步加剧,因为该功能允许恶意工作流公开暴露。在这种情况下,攻击者无需除创建工作流之外的任何额外权限即可利用此漏洞,这凸显了研究人员总结的风险:如果允许创建工作流,则可能完全控制服务器。
根本原因:类型强制执行漏洞和运行时滥用
该漏洞源于 n8n 的清理机制存在缺陷,以及 TypeScript 的编译时类型系统与 JavaScript 的运行时行为之间存在根本性的不匹配。虽然 TypeScript 在编译期间会强制执行类型约束,但它无法保证在运行时由攻击者控制的值仍然有效。攻击者可以通过提供非字符串值(例如对象或数组)来绕过假定输入为字符串的清理逻辑,从而有效地破坏关键的安全控制措施。
对系统和数据的潜在影响
成功利用漏洞可能导致服务器完全被攻陷。攻击者可以窃取凭证、泄露敏感数据、访问文件系统和内部服务、入侵连接的云环境,并劫持人工智能工作流程。安装持久性后门的能力进一步增加了长期隐蔽访问的风险。
受影响版本及缓解指南
该漏洞影响早于已修复版本的 n8n 版本,由十位独立安全研究人员共同发现。以下版本受到影响,并在无法立即修复时建议采取以下临时缓解措施:
受影响的版本:n8n 版本早于 1.123.17 和 2.5.2,这些版本已发布修复程序。
建议的缓解措施:将工作流的创建和编辑限制为完全受信任的用户,并在具有受限操作系统权限和限制网络访问的强化环境中部署 n8n。
这个问题凸显了分层验证策略的必要性。编译时保证必须辅以严格的运行时检查,尤其是在处理不可信输入时。代码审查应重点关注清理例程,并避免对运行时未强制执行的输入类型做出假设。
其他高危 n8n 漏洞
除了 CVE-2026-25049 之外,n8n 还发布了另外四个安全漏洞的公告,其中两个被评为严重漏洞:
CVE-2026-25053 (CVSS 9.4) :Git 节点中的操作系统命令注入漏洞,允许具有工作流权限的已认证用户执行命令或读取任意文件;已在 2.5.0 和 1.123.10 版本中修复。
CVE-2026-25054 (CVSS 8.5) :markdown 渲染组件中存在存储型跨站脚本漏洞,允许以同源权限执行脚本并可能导致帐户被接管;已在 2.2.1 和 1.123.9 版本中修复。
CVE-2026-25055 (CVSS 7.1) :SSH 节点中的路径遍历问题可能导致文件写入到非预期位置,并可能在目标系统上执行远程代码;已在 2.4.0 和 1.123.12 版本中修复。
CVE-2026-25056 (CVSS 9.4) :合并节点 SQL 查询模式下的任意文件写入漏洞,可能导致远程代码执行;已在 2.4.0 和 1.118.0 版本中修复。
紧急更新以降低风险
鉴于已发现漏洞的范围和严重性,强烈建议将 n8n 部署更新到最新版本。及时修补漏洞仍然是抵御漏洞利用和后续攻击的最有效防御措施。