Weblate API Token 重置漏洞总结 漏洞概述 在 Weblate 3.7.1 版本中,当用户通过“忘记密码”流程重置密码时,系统会触发 API Token 的重置。这意味着如果攻击者触发了密码重置流程,即使没有成功重置密码,也可能导致用户的 API Token 被重置,从而使得原本有效的 API Token 失效或被替换。 影响范围 受影响版本:Weblate 3.7.1 影响对象:所有使用 API Token 进行身份验证的用户 风险等级:中等(可能导致服务中断或需要重新生成 Token) 修复方案 1. 代码修改: - 在 中,添加了 字段,允许用户在重置密码时选择是否重新生成 API Key。 - 在 中,修改了 方法,确保在创建用户时正确生成 API Token。 - 在 和 中,增加了测试用例,验证密码重置时 API Token 的行为。 2. 测试用例: - 添加了多个测试用例,确保在密码重置时 API Token 的行为符合预期。 POC 代码 以下是部分 POC 代码,展示了如何在密码重置时触发 API Token 的重置: 这些代码展示了如何在密码重置时触发 API Token 的重置,并验证了新的 API Token 是否被正确生成。