CVE-2021-3754
该仓库记录了由本人于2021年8月21日发现并报告的CVE-2021-3754漏洞详情及利用方法。
指标
描述
在Apache Keycloak和Redhat SSO中发现一个缺陷:攻击者能够以与任何现有用户邮箱相同的用户名进行注册。
这是由于用户名在邮箱之前被评估所致。
Keycloak允许将邮箱用作用户名,且未检查该邮箱是否已存在对应账户。

影响
上述行为会导致用户忘记密码时无法正常收到密码恢复邮件,从而暂时锁定用户账户。

缓解措施(Redhat建议)
解决方法是在登录设置中启用“将邮箱作为用户名”标志,或禁用“使用邮箱登录”。
参考

概念验证/利用
以下是我最初向Redhat报告的概念验证视频,展示了完整的漏洞及利用步骤:
备注
- 请注意,Redhat建议的缓解措施是临时的,输入验证不当的根本问题尚未被Redhat/Keycloak修复。
- 请注意,本人尚未测试并验证上述Redhat针对Keycloak的缓解措施。
- 请注意,如果您在任何产品/应用中使用Keycloak/Redhat SSO,您仍然存在风险。本人已验证直至今日,Redhat SSO仍然受到此问题影响。
- 如果您使用Keycloak且未正确配置登录屏幕设置,您可能仍然存在风险。
- 更新——该漏洞已在Keycloak 24.0.1版本中修复(https://github.com/advisories/GHSA-4vc8-pg5c-vg4x)
重要链接