🔴 严重 | CVE-2026-52893 — Wekan is open source kanban built with Meteor. Pri...
🔴 【深度分析】严重安全漏洞:CVE-2026-52893
CVSS 评分: 严重(9.2)🔴 状态: Deferred 发布时间: 2026-07-15
🔍 技术细节速览
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-52893 |
| CVSS 评分 | 9.2 🔴 |
| 严重程度 | 严重 |
| CVSS 向量 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| CWE 分类 | CWE-287 |
| 发布时间 | 2026-07-15 |
| 最后更新 | 2026-07-18 |
| 状态 | Deferred |
| 数据来源 | security-advisories@github.com |
好的,作为一名资深网络安全分析师,我将根据您提供的 NVD 数据,生成一篇专业的漏洞深度分析文章。
CVE-2026-52893 深度分析:Wekan OIDC 账户合并漏洞
⚠️ 严重警告
CVSS 评分:9.2 (Critical)
CVSS 向量:CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
危害等级: 严重 (Critical)
漏洞概述
CVE-2026-52893 是一个存在于 Wekan(开源看板应用)中的身份验证绕过漏洞。该漏洞源于其处理 OpenID Connect (OIDC) 登录时的一个关键逻辑缺陷。
攻击者可以利用受害者的电子邮件或用户名,通过攻击者控制的 OIDC 身份提供商(IdP)账户,与受害者的现有 Wekan 账户进行合并。一旦合并成功,攻击者即可使用自己的 OIDC 凭证登录,并完全接管受害者的账户,从而获得对该账户内所有看板、列表、卡片及敏感信息的完全访问权限。该漏洞影响 Wekan 9.32 之前的版本,攻击复杂度低,且无需任何前置权限,对机密性和完整性造成严重危害。
受影响组件与版本
- 受影响组件: Wekan 开源看板应用
- 影响版本: Wekan < 9.32
- 修复版本: Wekan 9.32
漏洞原理分析
该漏洞的核心成因在于 Wekan 服务器端处理 OIDC 账户合并逻辑的缺陷,具体位于 server/models/users.js 文件中的 Accounts.onCreateUser 钩子函数。
技术细节分析:
脆弱逻辑: 当用户首次通过 OIDC 登录时,Meteor 框架会触发
Accounts.onCreateUser钩子。在这个钩子中,Wekan 会检查系统内是否已存在与当前 OIDC 登录所提供的 用户名 或 电子邮件 匹配的本地账户。关键缺失: 问题的关键在于,代码在 没有验证账户所有权 和 未检查
email_verified标识 的情况下,就执行了账户合并。具体来说:- 所有权验证缺失 (
CWE-287): 攻击者通过其 IdP 账户发起 OIDC 登录。如果攻击者的 IdP 账户的email或username字段与受害者的 Wekan 账户信息一致,Wekan 就会将攻击者的OIDC凭据 直接合并 到受害者的本地账户中。系统没有执行任何步骤(例如发送确认邮件或要求输入当前密码)来确认发起登录的人就是该账户的真正所有者。 email_verified检查缺失: 标准的 OpenID Connect 协议会通过email_verified布尔值声明来标识电子邮件是否经过 IdP 的验证。如果 Wekan 检查了此标识,防御场景会更加安全:攻击者必须使用一个在 IdP 中经过完全验证的、并且能够伪造或控制受害者邮件地址的账户。然而,由于此检查缺失,降低了攻击门槛,即使攻击者的邮件地址在 IdP 处未经验证,只要字符串匹配,攻击也可能成功。
- 所有权验证缺失 (
攻击向量分析:
- 攻击复杂度 (AC:L): 攻击者无需对 Wekan 系统进行深入研究或编写复杂 exploit。只需知道受害者用于登录 Wekan 的电子邮件或用户名,并且能够在自己控制的 IdP 中创建一个拥有相同信息的账户即可。
- 攻击前提 (AT:P): 攻击者需要一个支持自定义用户信息的 OIDC 身份提供商(如 GitLab, Google, GitHub 的企业版或自建 IdP),以便能设置与受害者
email或username匹配的字段。并非所有公共 IdP 都允许随意创建已存在的用户名。 - 权限要求 (PR:N) & 用户交互 (UI:N): 攻击者无需拥有 Wekan 上的任何权限,且整个攻击过程无需受害者进行任何操作。
简要流程:
- 侦查: 攻击者获取受害者在 Wekan 中注册的电子邮件或用户名(可能通过信息泄露或社工)。
- 准备: 攻击者在自己的 OIDC 身份提供商(IdP)中创建一个新账户,并将
email或username字段设置为受害者的信息。 - 利用: 攻击者使用这个精心准备的 OIDC 账户登录受害者的 Wekan 实例。
- 账户接管: Wekan 检测到 OIDC 的
email/username与现有本地账户匹配,遂将攻击者的 OIDC 凭据合并到受害者账户。攻击者即可完全接管该账户。
影响评估
- 实际威胁: 极高。攻击者可以通过该漏洞实现 账户接管 (Account Takeover),这是最严重的 Web 应用安全风险之一。
- 攻击复杂度: 低。利用过程直接,仅需在 OIDC IdP 上创建一个账户。
- 所需权限: 无。
- 利用条件:
- 受害者必须使用 非 OIDC 方式(如邮箱密码)注册了 Wekan 账户。
- 攻击者需要能够获取受害者的 Wekan 用户名或电子邮件。
- 系统必须配置了 OIDC 作为登录方式之一。
- 潜在后果: 一旦攻击者成功接管账户,他可以:
- 信息泄露 (VC:H): 访问和窃取账户内所有看板、卡片中的敏感信息(如项目计划、客户数据、API 密钥等)。
- 数据篡改 (VI:H): 修改、删除或破坏看板内的数据和结构。
- 权限维持: 修改账户设置,绑定自己的邮箱或密码,彻底锁定真正用户。
- 横向移动: 利用被接管账户在团队中的权限,进一步攻击该账户所属组织或团队的其他资源。
- 可用性影响 (VA:L): 该漏洞主要影响数据和用户账户的安全,对系统服务的可用性影响相对较低,但被篡改的数据可能导致业务中断。
修复建议
1. 立即升级(推荐)
最直接有效的修复方式是将 Wekan 升级到 9.32 或更高版本。该版本已修复 Accounts.onCreateUser 钩子中的逻辑缺陷。
2. 临时缓解措施
如果无法立即升级,可以考虑以下临时措施:
- 禁用 OIDC 登录: 在 Wekan 配置中临时禁用 OpenID Connect 登录功能,直到完成升级。这将完全消除此攻击向量,但也会影响所有依赖 OIDC 登录的用户。
- 加强 OIDC 配置审查: 仔细检查所使用的 OIDC 身份提供商(IdP)配置。确保 IdP 严格验证用户的电子邮件所有权 (
email_verified) 并信任该声明。但这只是环境缓解,不能修复 Wekan 本身的代码缺陷。 - 日志监控与告警: 密切监控 Wekan 的身份认证日志,特别是
onCreateUser相关的用户创建和合并事件。对可疑的账户合并操作(如短时间内大量合并、来自未知 IdP 用户的合并)进行告警。
参考资料
- NVD 官方页面: https://nvd.nist.gov/vuln/detail/CVE-2026-52893
- CWE 分类: CWE-287: Improper Authentication
- CVSS 4.0 规范: CVSS v4.0 Specification Document
分析师备注:
虽然该漏洞状态为 Deferred,这通常意味着厂商尚未确认或补丁正在验证中,但根据 NVD 提供的详细披露信息,该漏洞是真实存在的且 PoC 清晰。建议所有使用 Wekan 并启用了 OIDC 的组织立即采取行动评估风险并制定修复计划。此漏洞是典型的 OAuth/OIDC 集成实现缺陷导致的账户接管案例,再次警示了开发者必须在第三方登录集成中严格验证用户身份所有权。