CVE-2026-42560go-pkgz/auth是一个支持OAuth2等认证方式的Go语言库。在受影响版本中,其Patreon OAuth提供程序存在严重逻辑缺陷,导致所有通过Patreon认证的用户账户被错误地映射到同一个本地用户ID,而非根据Patreon返回的唯一账户信息生成ID。这意味着应用无法区分不同的Patreon用户,导致所有用户身份被“折叠”为一个。攻击者可利用此漏洞实现跨账户访问、权限混乱以及订阅状态泄露。
该漏洞的根本原因在于go-pkgz/auth库在处理Patreon OAuth2回调时,未能正确解析并利用Patreon API返回的唯一用户标识符(如User ID)作为本地数据库的主键。根据描述,代码逻辑错误地使用了静态值或非唯一标识,导致无论哪个Patreon用户登录,系统后端均将其识别为同一个本地用户。攻击利用过程非常简单,无需特殊payload。攻击者只需拥有任意有效的Patreon账户,并在使用受该库支持的应用程序中选择“使用Patreon登录”。登录成功后,由于系统将所有Patreon用户映射至同一身份,攻击者将立即获得该映射身份的所有权限和数据访问权。如果该身份此前已绑定管理员权限或其他用户的敏感数据,攻击者即可直接接管账户。