事件概述
开源身份提供商 ZITADEL 于 10 月 4 日协调披露一批认证绕过漏洞,共 10 个,其中 7 个为严重级。这些问题集中在托管登录界面(Login V1 / Login V2)的流程处理逻辑,允许未认证或仅部分认证的主体在完成主因素验证之前就操作本应受保护的流程。
受影响范围为 3.x 分支 3.4.16 之前、4.x 分支 4.17.3 之前(部分问题的修复点更早)。更棘手的是,3.x 分支已于 8 月 31 日结束生命周期,不会再有安全补丁。
关键技术问题
- 未认证账户绑定(CVE-2026-105207,CVSS 9.8):外部身份提供商账户关联流程在未校验主因素与调用方权限的情况下即建立绑定,甚至出现在未认证路径上。攻击者可在网络可达的条件下,把自己的外部身份绑定到目标账号并完成接管。
- 跨组织密钥注册接管(CVE-2026-105209,CVSS 9.3):在签发密钥与免密码登录注册码时,仅校验请求头中的组织标识,未与目标用户实际所属组织交叉核对。攻击者只要在 A 组织拥有写入权限,即可伪造请求头指向 B 组织,为目标用户注册自己的认证器,无需密码也无需绕过 MFA。
- 账户预劫持(CVE-2026-105215,CVSS 9.1):Login V1 在外部账户不存在的注册端点上直接信任客户端提交的外部身份字段。攻击者伪造身份提供商配置 ID 与外部用户 ID,即可预创建一个绑定受害者外部身份的账号;受害者之后用真实外部身份登录时,会进入攻击者预建的账户。
- 组织域名校验 SSRF(CVE-2026-105214,CVSS 9.1):组织域名 HTTP 校验环节存在服务端请求伪造,可用于探测内网或读取云元数据。
- Login V2 一次性口令泄露(CVE-2026-105211,CVSS 8.1):returnCode 投递方式会暴露 OTP 码,未认证攻击者获取后可直接接管账户。
其余问题包括:停用组织仍可保持访问(CVE-2026-105213)、识别阶段即允许密钥与认证器注册(CVE-2026-105212)、意图令牌可伪造导致会话劫持(CVE-2026-105208)、跨组织用户枚举(CVE-2026-105206)。
影响评估
问题的本质是一类结构性缺陷:流程处理器在处理仅凭登录名绑定的账户时,没有强制“先验证因素、再执行动作”的状态机顺序。这意味着多组织部署的隔离模型可能被击穿,低权限用户能够横向接管高价值账号,包括管理员。
当身份提供商开始为自动化智能体工作流提供会话授权时,身份层失守会直接传导到下游系统。截至 10 月 5 日,尚无在野利用确认,相关 CVE 也未进入 CISA 已知被利用漏洞目录。
修复建议
- 4.x 用户升级到 4.17.3(部分问题自 4.16.2 起修复);3.x 用户应直接规划迁移到 4.x,因为 3.4.14 与 3.4.15 无法长期收口。
- 在无法立即升级时,关闭 Login V1 上所有外部身份提供商的“允许手动创建账户”,仅保留“自动创建”,因为自动创建只在经过验证的回调之后使用服务端数据执行。
- 条件允许时把受影响租户迁移到 Login V2,其身份提供商意图机制采用加密绑定,不依赖客户端提交的表单数据。
- 排查是否存在伪造的组织域名校验请求、异常的密钥注册记录与跨组织访问日志。
- 对照 ZITADEL 官方安全公告逐条确认每个 CVE 的修复版本,修复点分散在 4.17.3、4.16.2、4.17.1、3.4.15 与 3.4.14。