CVE-2026-35596Vikunja是一款开源自托管任务管理平台。在2.3.0版本之前,其`hasAccessToLabel`函数存在SQL运算符优先级错误,导致权限验证逻辑失效。任何经过身份验证的用户均可读取与其任务关联的任意标签信息,无论其是否有权访问标签所属项目。泄露的数据包括标签标题、描述、颜色及创建者信息。该问题已在2.3.0版本中修复。
该漏洞的根源在于Vikunja后端(Go语言)用于检查标签访问权限的SQL查询逻辑缺陷。具体而言,在构建`hasAccessToLabel`函数的查询条件时,未能正确处理`AND`与`OR`运算符的优先级。在SQL逻辑中,若代码未使用括号明确指定逻辑分组,原本意图的“必须同时满足项目权限和标签关联”可能会被解析为“满足项目权限 OR 标签关联”。攻击者只需拥有对某个任务的访问权限(即使该任务关联了其他私有项目的标签),即可绕过项目级别的访问控制。攻击者可以通过遍历标签ID并发起请求,利用此逻辑漏洞获取敏感数据。