CVE-2025-65430CVE-2025-65430是django-allauth插件中的一个严重身份验证安全漏洞。在65.13.0之前的版本中,当管理员将用户账户标记为is_active=False(禁用账户)后,该用户之前已颁发的access token和refresh token仍然保持有效状态,不会被系统拒绝。这意味着即使用户因违规行为或安全原因被禁用,攻击者仍可利用之前窃取或获取的有效令牌继续访问系统资源,执行未经授权的操作。该漏洞影响所有使用django-allauth进行OAuth/OIDC认证的Django应用,攻击者可在低权限条件下通过网络发起攻击,无需用户交互即可利用。CVSS评分5.4,属于中等严重程度,主要风险在于攻击者可能绕过账户禁用机制,持续访问受保护资源。
django-allauth是一个流行的Django认证库,支持多种OAuth提供商和社会化登录。漏洞根源在于令牌验证逻辑的缺陷:当用户状态从active变为inactive时,系统未能正确验证和拒绝已颁发的令牌。具体来说,令牌的生命周期管理存在漏洞,is_active标志的变更未能触发已发放令牌的撤销机制。攻击者首先需要通过正常认证流程获取目标用户的access token和refresh token,然后等待或诱使管理员禁用该账户。一旦账户被禁用,攻击者仍可使用之前获取的令牌通过API认证,继续访问受保护资源并执行操作。修复方案在65.13.0版本中实现,在令牌验证时增加对用户is_active状态的实时检查,确保禁用用户的令牌立即被拒绝。