CVE-2026-32619Discourse是一个开源讨论平台。在2026.1.0等特定版本中存在访问控制漏洞。当用户失去对某个主题的访问权限(例如从私有类别组中被移除)后,仍能对该主题内的投票进行交互,包括投票和切换投票状态。虽然未暴露敏感内容,但用户可修改其无权访问的主题的投票状态,破坏了数据的完整性。该问题已在2026.1.3、2026.2.2和2026.3.0版本中修复。
该漏洞源于Discourse在处理投票权限时的逻辑缺陷。系统在检查用户是否有权访问主题内容时,可能正确阻止了查看帖子的请求,但在处理针对投票的操作(如POST请求进行投票)时,未正确验证用户当前是否仍属于该主题的可见性分组。攻击者只需拥有低权限账号,在被移出私有组后,利用API端点直接发送针对旧主题投票的请求,即可绕过前端界面限制。由于后端未对投票操作与主题访问权限进行强关联校验,导致攻击者能够篡改投票结果,影响数据完整性,但无法读取未授权内容。具体而言,漏洞出现在控制器层的权限校验阶段,未在执行投票动作前重新加载用户的权限上下文,导致使用了过期的权限缓存,从而实现了越权操作。