CVE-2026-32113Discourse是一个开源讨论平台。在受影响版本中,StaticController的enter操作直接读取客户端的`sso_destination_url` cookie,并在未验证目标URL主机的情况下,使用`allow_other_host: true`参数执行重定向。由于cookie可被攻击者控制,该漏洞可被用于将用户重定向至恶意网站,配合钓鱼攻击窃取凭据。
该漏洞的核心在于Discourse处理SSO(单点登录)返回流程时的逻辑缺陷。系统信任名为`sso_destination_url`的cookie值,并将其作为重定向目标。正常情况下,该cookie在合法的DiscourseConnect流程中设置,但开发者忽略了Cookie是客户端可控的这一事实。攻击者可以通过发送Set-Cookie头或利用浏览器脚本设置该cookie为任意外部URL(如http://evil.com)。当受害者访问Discourse的`/enter`路径时,后端代码读取此cookie并调用重定向函数,且未校验URL是否属于当前域名,导致跨站开放重定向。