CVE-2026-33316Vikunja是一个开源的自托管任务管理平台。在2.2.0版本之前,其密码重置逻辑存在严重缺陷,允许被管理员禁用的用户通过重置密码重新激活账户。该漏洞使得攻击者能够绕过管理员实施的账户禁用措施,利用密码重置接口恢复对被禁用账户的完全访问权限,从而对系统的机密性和完整性造成高影响。
漏洞的核心在于Vikunja后端代码中`ResetPassword()`函数的实现逻辑存在疏忽。在处理密码重置流程时,系统验证重置令牌的有效性及新密码的强度后,直接将数据库中对应的用户状态字段更新为`StatusActive`。关键问题在于,该更新操作未包含对原始账户状态的检查,导致即使用户账户此前已被管理员手动禁用(StatusDisabled),重置密码后也会自动变为活跃状态。攻击者利用这一逻辑漏洞,只需向`/api/v1/user/password/token`接口发送请求获取令牌,随后调用`/api/v1/user/password/reset`接口提交新密码,即可绕过访问控制限制,成功重新激活账户并获得系统的完整操作权限。