CVE-2026-31869Discourse开源讨论平台在特定版本中存在信息泄露漏洞。由于ComposerController#mentions端点权限校验不当,攻击者可利用该接口探测用户名,从而推断出隐藏群组的成员身份。此问题绕过了群组可见性控制,导致低权限用户获取敏感信息。
该漏洞源于Discourse的ComposerController#mentions端点在处理群组提及请求时,未严格隔离隐藏群组的成员身份信息。在受影响版本中,任何拥有“向群组发送消息”权限的低级别认证用户均可利用此漏洞。攻击者通过向接口发送包含目标隐藏群组名称(allowed_names参数)和待探测用户名的请求,根据返回的user_reasons字段值(例如“private”)来判定用户是否属于该群组。通过反复枚举用户名并分析响应差异,攻击者能够完整推断出隐藏群组的成员列表。这种利用方式完全绕过了前端和后端的群组可见性控制机制,导致本应保密的成员关系遭到泄露。