Description
Discourse is an open-source discussion platform. From versions 2026.1.0-latest to before 2026.1.3, 2026.2.0-latest to before 2026.2.2, and 2026.3.0-latest to before 2026.3.0, the enter action in StaticController reads the sso_destination_url cookie and redirects to it with allow_other_host: true without validating the destination URL. While this cookie is normally set during legitimate DiscourseConnect Provider flows with cryptographically validated SSO payloads, cookies are client-controlled and can be set by attackers. This issue has been patched in versions 2026.1.3, 2026.2.2, and 2026.3.0.
Problem types
CWE-601: URL Redirection to Untrusted Site ('Open Redirect')
Product status
>= 2026.2.0-latest, < 2026.2.2
>= 2026.3.0-latest, < 2026.3.0
References
meta.discourse.org/...ty-provider-sso-discourseconnect/32974
github.com/...course/security/advisories/GHSA-378j-ccw4-4fwh
github.com/...ommit/080408b93d00305b51d71f63f755f43fa601884d
meta.discourse.org/t/using-discourse-as-a-sso-provider/32974