漏洞概述 该漏洞涉及在 库中,Patreon 认证逻辑存在一个安全问题。具体来说,Patreon 认证时使用了未初始化的 字段(即 ),而不是从响应中获取的 Patreon 账户 ID。这导致所有使用此库进行 Patreon 认证的用户在应用中被视为同一个本地用户 ID,从而允许任何 Patreon 用户冒充其他 Patreon 用户。 影响范围 受影响版本:v2.1.2 和 v2.2.0 的 和 模块。 影响用户:所有使用 库进行 Patreon 认证的应用程序。 修复方案 1. 更新哈希逻辑: - 使用 (即 Patreon 的数值账户 ID)来代替未初始化的 字段。 - 更新现有的断言以反映这一变化。 2. 添加回归测试: - 添加回归测试以确保两个不同的 Patreon 账户 ID 产生不同的本地用户 ID。 3. 代码变更: - 在 和 中,将 的赋值从 改为 。 - 更新测试用例以验证新的哈希逻辑。 POC 代码 以下是修复前后的关键代码对比: 修复前 修复后 代码变更详情 总结 此修复确保了每个 Patreon 账户在应用中有唯一的本地用户 ID,防止了用户身份冒充的问题。