近日,知名开源工作流自动化平台 n8n 被曝出存在一个高危安全漏洞(编号 CVE-2026-59208),攻击者利用该漏洞可绕过身份校验逻辑,实现跨发行人的账户接管(Cross-Issuer Account Takeover)。该漏洞影响了几乎所有启用 OAuth 凭证集成的 n8n 实例,被研究人员评为 CVSS 9.1 级(严重)。目前官方已发布安全更新,强烈建议所有用户立即升级至修复版本。

漏洞概述:发行者校验缺失引发连锁风险

n8n 通过 OAuth 2.0/OpenID Connect 协议与 Google、GitHub、Slack、微软等 150 余种外部服务对接,支持自动化的凭证管理。漏洞存在于 n8n 凭证处理模块的 id_token 验证流程中——当后端解析来自不同身份提供商(IdP)的 JWT 令牌时,未对令牌中的 iss(issuer,发行者)字段进行严格的白名单校验。攻击者能够注册一个自己控制的恶意 IdP,并构造包含任意用户标识符的 id_token,利用 n8n 的混合认证逻辑将自身伪造为合法用户,进而直接接管目标账户。

由于该缺陷不依赖于复杂的提权链,仅需对认证请求进行中间人篡改或诱导用户授权恶意应用即可触发,被安全社区视为“零信任架构下的典型认证绕过漏洞”。

技术细节:一纸“假通行证”可调取整条工作流

具体而言,攻击流程可分四步: 1. 注册恶意 IdP:攻击者搭建一个支持 OIDC 的自定义身份提供商,可随意签发 isssub 字段值。 2. 诱导授权:通过钓鱼链接或恶意插件,诱骗 n8n 管理员或高权限用户授权该恶意 IdP 访问 n8n 实例。 3. 伪造令牌:攻击者构造一个 id_token,将其 iss 设为某个合法 IdP(如 accounts.google.com)的 URI,但 sub 设置为目标用户的 ID。 4. 接管账户:n8n 在验证时仅校验签名算法和密钥材料,却未检查令牌的 iss 是否真实对应签名方,导致恶意令牌被接受,攻击者以目标用户身份登录成功。

一旦取得访问权限,攻击者可阅读所有已配置的工作流、窃取含有机密信息的凭证(如 API 密钥、数据库密码),甚至插播恶意节点向下游系统发起二次攻击。在 n8n Cloud 或自托管的高权限环境下,可能造成自动化流水线被完全控制。

影响版本与已修复版本

根据官方安全公告,受影响的版本包括: - 所有 n8n 社区版:版本号 0.233.01.2.2(含)之间的所有发行版。 - n8n Cloud 实例:受影响时间段为 2026年7月15日 至 2026年8月20日(官方已在8月20日完成热修复,无需用户操作)。

已修复版本: - 社区版 1.2.3 及更高版本。 - n8n Cloud 已自动更新至安全配置。

修复方式为在 OAuth 令牌验证流程中增加 iss 白名单硬编码,仅接受预先注册的受信任 IdP;并强制要求 id_token 的签名密钥必须与 iss 对应的公钥匹配,彻底杜绝跨发行人伪造。

应急措施与安全建议

虽然官方已发布补丁,但考虑到多数自托管用户可能尚未升级,专家提出以下应急建议:

  1. 立即升级:前往 GitHub Releases 或官方 Docker Hub 拉取 n8n:1.2.3 标签及以上版本,执行 docker-compose pull && docker-compose up -d 完成更新。
  2. 审计凭证:检查系统中所有的 OAuth 凭证,移除未使用的授权应用,尤其警惕近期新增的未知 IdP。
  3. 启用双重认证:为 n8n 管理后台启用 TOTP 或 WebAuthn 多因素认证,降低凭证泄露后的横向移动风险。
  4. 限制 OAuth 作用域:将第三方服务授权的 scope 降至最低必要权限,避免调用敏感 API。
  5. 监控异常会话:审查 n8n 审计日志中是否存在来自不常见 IP 或非工作时间的大规模登录行为。

结语

本次漏洞再次为现代化低代码平台的认证安全敲响警钟。n8n 的 OAuth 集成虽极大便利了企业自动化流程,但“信任一切能签名的发行者”的设计假设显然已不符合当前安全态势。建议所有依赖 n8n 组织将安全更新纳入 SOP,并定期参加开源项目的安全公告。截至发稿,暂未发现该漏洞在野大规模利用的报告,但 PoC 代码已在安全研究社区内流传,立即升级仍是当前最优选择。