n8n令牌交换漏洞导致攻击者以其它颁发者的用户身份登录

admin 2026-07-18 05:08:22 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 工作流自动化平台n8n企业版存在令牌交换漏洞CVE-2026-59208,当信任多个外部颁发者时,系统仅根据JWT的sub声明匹配用户而忽略iss声明,导致攻击者可利用颁发者A的令牌冒充颁发者B的用户登录。该漏洞仅影响开启此预览功能的OEM部署场景,CVSSv4评分7.6。建议用户升级至2.27.4或2.28.1以上版本,或缩减受信任颁发者至一个及关闭该功能,且需注意官方更新日志未明确提及此修复。 综合评分: 79 文章分类: 漏洞分析,漏洞预警,应用安全


cover_image

n8n 令牌交换漏洞导致攻击者以其它颁发者的用户身份登录

Swati Khandelwal Swati Khandelwal

代码卫士

2026年7月17日 16:14 北京

在小说阅读器读本章

去阅读

  聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

工作流自动化平台n8n在登录时分发了错误的账户。在企业版实例中,当配置为信任多个外部令牌颁发者时,系统仅根据传入JWT中的sub声明匹配本地用户,而忽略了iss。该漏洞的编号为CVE-2026-59208,已于79日修复。

来自颁发者A的有效令牌,只要 sub 值属于颁发者B下的某个用户,就能让攻击者以该用户身份登录。整个过程完全不涉及该用户的密码。n8n已于6月24日发布了修复方案。

n8n致谢报告该漏洞的GitHub账户bearsyankees,该账户的个人资料中列出了一家开发AI渗透测试代理的公司Strix。Strix公司表示,他们指出了令牌交换流程中的问题,并发现了其中的身份绑定漏洞。

两个颁发者,同一个账户

令牌交换是n8n为原始设备制造商 (OEM) 合作伙伴提供的企业版功能,是对RFC 8693的实现,可让用户免去二次登录步骤。合作伙伴使用自己的密钥签署一个短期JWT,n8n根据配置的公钥进行验证,将声明与本地账户匹配,用户即可登录。受信任的密钥配置在 N8N_TOKEN_EXCHANGE_TRUSTED_KEYS 中,部署文档仍将该功能标记为预览版。

令牌本身没有问题,问题出在匹配逻辑上。sub值仅保证在签发它的颁发者内部是唯一的。RFC 7519要求它 “在颁发者上下文中具有本地唯一性”,否则需要全局唯一。因此,用户的完整标识符应是iss加sub的组合。但n8n只用了其中一半。因此没有任何机制能阻止两个颁发者使用相同的 sub 字符串,而当这种情况发生时,两者都会指向同一个n8n账户。

影响范围

该漏洞仅在令牌交换功能开启且配置信任至少两个外部颁发者时才能被利用。n8n表示其它功能不受影响。令牌交换仅限企业版且仍标记为预览,因此受影响范围较小且具体:主要涉及OEM部署场景,而信任多个颁发者正是该场景下的支持配置。

公告没有明确说明攻击者如何获取令牌,仅表示他们可以获取一个。实际问题是,受信任颁发者下的普通用户能否控制自己收到的sub值。公开记录未给出答案。GitHub的CVSS 4.0向量在 “攻击条件” 一项标记为 ”存在” 后未作进一步说明。

GitHub给出的漏洞 CVSS v4 评分为7.6分(高危)。美国国家漏洞数据库(NVD) 给出的CVSS 3.1评分为6.8分(中危)但尚未发布4.0评分;其记录包含CWE-287和CWE-346。CISA于7月13日的SSVC评估中认定该漏洞尚未被利用,The Hacker News在7月16日的搜索中也未发现公开的概念验证代码。

在6月24日修复发布的两周前,维护者修复了另外一个仅影响企业版的漏洞CVE-2026-54305。该漏洞可导致任何经过身份验证的用户通过动态凭证端点覆盖或撤销其他用户已存储的OAuth令牌。该漏洞属于缺失所有权检查的问题,而非身份绑定。漏洞不同,但攻击面相同。

n8n尚未就CVE-2026-59208的影响范围进行确认。

打补丁或缩减颁发者列表

CVE-2026-59208影响n8n 2.27.4以下所有版本及2.28.0版本。补丁最初出现在最低修复版本2.27.4和2.28.1中。截至7月16日,n8n的npm包在latest和stable标签上均为2.30.6。据官方记录,该项目几乎每周发布一个小版本,因此用户应检查标签并选择部署支持的最新稳定版本。

如果无法立即修复,请先确认运行配置:N8N_TOKEN_EXCHANGE_TRUSTED_KEYS 存储受信任的签名密钥,另有单独的预览标志控制令牌交换功能是否开启。可将受信任颁发者缩减至一个,或直接关闭该功能。

安全公告称两者均为临时措施,且均不能完全消除风险。这是标准表述,与n8n至少另外三份公告(包括6月10日的一份)中的措辞完全相同。根据n8n的影响范围声明,关闭令牌交换的实例不受影响。两个版本的发布说明均未提及该修复。The Hacker News查阅了2.27.4和2.28.1的更新日志,其中涉及Python导入修复、Google Ads节点升级、AI工作流检查和节点构建变更等内容,但没有任何关于身份绑定的说明。

由于该漏洞只存在于安全公告中,因此如果用户的升级决策依赖于更新日志,则很容易忽略这类修复。

开源卫士试用地址:https://oss.qianxin.com/#/login

代码卫士试用地址:https://sast.qianxin.com/#/login


推荐阅读

n8n 两个严重 RCE 漏洞利用使工作流沦为后门

n8n 严重漏洞可导致RCE和存储凭据暴露

n8n出现新漏洞,可用于执行系统命令

n8n 两个高危漏洞可导致认证RCE

n8n 满分漏洞 Ni8mare 可导致服务器遭劫持

原文链接

https://thehackernews.com/2026/07/n8n-token-exchange-flaw-could-let.html

题图:Pixabay License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

    觉得不错,就点个 “在看” 或 “赞” 吧~


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:代码卫士 Swati Khandelwal Swati Khandelwal《n8n 令牌交换漏洞导致攻击者以其它颁发者的用户身份登录》

评论:0   参与:  0