CVE-2025-64528CVE-2025-64528是Discourse开源讨论平台中的一个信息泄露漏洞。该漏洞影响3.5.3、2025.11.1和2025.12.0之前的版本。攻击者只需知道目标用户的部分用户名,即可通过用户界面(UI)或API接口获取该用户的完整用户名和全名。值得注意的是,即使管理员在系统设置中禁用了`enable_names`选项(该选项本应限制用户名的可见性),攻击者仍然能够获取这些敏感信息。这一漏洞严重违反了用户隐私保护机制,可能导致用户隐私数据被未授权访问。Discourse作为一个广泛使用的社区讨论平台,拥有大量活跃用户,该漏洞的存在使得攻击者可以大规模枚举平台用户信息,进而为后续社会工程攻击、钓鱼攻击或其他恶意活动提供便利。由于该漏洞无需认证即可利用,且攻击复杂度较低,因此对所有使用受影响版本Discourse的组织构成实质性安全风险。
该漏洞的根本原因在于Discourse在处理用户搜索和查询请求时存在访问控制缺陷。当用户发起搜索或查询操作时,系统未能正确验证请求者是否具有查看其他用户完整信息的权限。具体而言,即使`enable_names`设置被禁用,系统后端API仍然返回完整的用户名和显示名称(display name)数据。攻击者可以利用标准的用户搜索功能或直接调用API端点(如`/search/users`或`/u/{username}.json`等),输入目标用户的部分用户名或常见用户名模式,系统便会返回匹配用户的完整信息。漏洞利用的关键在于API响应中包含了不应公开的敏感字段,且前端未能正确过滤这些信息。攻击者可以通过自动化脚本遍历常见用户名组合,实现大规模用户信息收集。此外,该漏洞还可能与其他Discourse功能(如提及功能、消息功能)结合使用,进一步扩大信息泄露的范围。