Lichess | 报告 #3160210 - 不当身份验证节流允许攻击者控制账户锁定
漏洞描述
应用程序在身份验证节流逻辑中缺乏足够的保护措施。它允许任意用户通过使用已知或猜测的用户名提交多次失败登录尝试来触发任何账户的锁定。由于系统未验证请求来源或实施与会话/IP/指纹相关的智能速率限制,攻击者可以故意锁定合法用户——影响他们对应用程序的访问。
重现步骤
-
获取有效用户名 用户名可通过平台的用户目录、排行榜或其他公共功能公开获取。
-
尝试多次失败登录 使用有效用户名和错误密码提交多次登录尝试。
-
观察账户锁定 在特定数量的失败尝试后(例如5-10次),应用程序阻止该用户的进一步登录。
概念验证
演示针对特定用户名发送多次失败登录请求会导致该账户被锁定。
图像 F4378063: image.png 151.07 KiB 放大 缩小 复制 下载
我通过从不同IP地址使用正确密码尝试登录自己的账户进行了验证,并被速率限制——确认锁定机制仅基于用户名,而不是IP地址或会话上下文。
这证明攻击者可以在不需要有效凭据的情况下远程阻止合法用户访问其账户,导致目标个人账户可用性丧失。
影响
- 允许未经授权控制其他用户的账户可用性。
- 可能 disrupt 合法用户的访问,导致支持开销、信任度下降或账户泄露尝试。
时间线
- 2025年5月23日 14:55 UTC - closec4ll 向Lichess提交报告
- 2025年6月2日 14:17 UTC - shrimpmode(Lichess员工)关闭报告并将状态更改为"信息性"
- 2025年6月12日 15:49 UTC - closec4ll 请求披露此报告
- 2025年6月13日 06:25 UTC - 报告被披露
报告详情
- 报告ID: #3160210
- 严重性: 中等 (6.1)
- 弱点: 身份验证尝试的不当限制
- CVE ID: 无
- 赏金: 无
Lichess回应
“感谢报告。它确实会阻止某人登录。但是已经登录的玩家仍然保持登录状态。因为我们的会话cookie有非常非常长的生命周期,玩家通常在注册后永远不需要再次登录。与应用程序的连接是通过oauth完成的,不受影响。找到并针对没有持续会话cookie的用户似乎不切实际,我不期望这个攻击向量会被成功使用。”