CVE-2026-41498Kimai是一款开源的时间追踪应用。其2.54.0之前的版本在Team API端点存在权限配置错误,使用了`#[IsGranted('edit_team')]`而非`#[IsGranted('edit', 'team')]`。这导致Symfony的投票机制失效,跳过了实体级别的所有权检查。因此,任何具备`edit_team`基础权限的用户均可修改任意团队数据,构成越权访问风险。
该漏洞的根源在于Kimai后端在处理Team API端点时,错误地配置了Symfony的安全注解。开发者使用了`#[IsGranted('edit_team')]`,这仅检查用户是否拥有全局的编辑权限,而未使用`#[IsGranted('edit', 'team')]`来触发针对特定团队的访问控制。这种配置导致Symfony的`TeamVoter`在决策过程中选择弃权,从而完全绕过了对用户与特定团队之间所有权关系的验证。攻击者若拥有基础的团队编辑权限,即可利用此逻辑缺陷,通过发送构造好的API请求(如PATCH或PUT),直接修改系统中任意团队的配置或数据,实现越权操作。