漏洞总结:Race Condition in Invite Token Registration (TOCTOU) 漏洞概述 Homarr 的用户注册端点 ( ) 存在竞态条件(TOCTOU)漏洞。该漏洞允许攻击者利用单个邀请令牌创建多个用户账户。 漏洞原理: 注册流程执行了三个非原子的数据库操作(未使用事务保护): 1. CHECK:验证邀请令牌是否存在且未过期。 2. CREATE:创建新用户账户。 3. DELETE:删除邀请令牌。 由于这些操作不是原子的,并发请求可以在任何请求到达删除步骤(步骤3)之前通过验证步骤(步骤1)。这使得攻击者可以使用旨在用于单用户的邀请令牌注册多个账户。 影响范围 受影响版本: 修复版本: 受影响包: (Docker image) 修复方案 建议将检查、创建和删除操作包装在单个数据库事务中,并在创建用户之前删除邀请令牌。 修复代码示例:** POC 代码 (exploit-race-condition.py)