Discourse
CVE-2026-33355
MEDIUM
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
2DescriptionGitHub Advisory
Discourse is an open-source discussion platform. Prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, the /private-posts endpoint did not apply post-type visibility filtering, allowing regular PM participants to see whisper posts in PM topics they had access to. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 contain a patch. No known workarounds are available.
AnalysisAI
A post-type visibility filtering bypass in Discourse's /private-posts endpoint allows authenticated users with access to private message (PM) topics to view whisper posts that should be restricted to specific recipients. This information disclosure vulnerability affects Discourse versions prior to 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, and requires only low-privilege user authentication to exploit. No active exploitation in the wild has been reported, but patches are available from the vendor.
Technical ContextAI
Discourse is an open-source discussion platform built on Ruby on Rails that manages complex permission models for different post types, including standard posts, whispers (which are private comments visible only to specific users), and private messages. The vulnerability resides in the /private-posts endpoint, which is responsible for retrieving private messages accessible to the authenticated user. The root cause is classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), indicating that the endpoint fails to properly apply post-type visibility filtering logic when returning PM data. Whisper posts are intended to be visible only to their author and explicitly designated recipients, but the missing filter allows any PM topic participant to enumerate and read these restricted posts. This represents a failure in authorization logic at the application layer where post-type constraints are not enforced alongside topic-level access controls.
RemediationAI
Immediately upgrade Discourse to version 2026.1.2, 2026.2.1, or 2026.3.0-latest.1 depending on your release track. Apply the patches referenced in commits 84e5865a279716c6866e8c0648d1d8b42320603c, d25b8ee9ee182dbb34e92b34e39878ce4d59bcdc, and d2f317271ad7638f1e2791905472ebd9370946d1 available at https://github.com/discourse/discourse. No workarounds exist, so patching is mandatory. If immediate patching is not possible, restrict PM access to trusted users only and audit PM topics for sensitive whisper content that may have been exposed. Monitor Discourse logs for unusual /private-posts endpoint access patterns from low-privilege accounts.
Discourse versions prior to 3.5.0.beta6 contain a reflected cross-site scripting (XSS) vulnerability in social login fun
Discourse is an open source platform for community discussion. Rated high severity (CVSS 8.2), this vulnerability is rem
In Discourse 2.7.0 through beta1, a rate-limit bypass leads to a bypass of the 2FA requirement for certain forms. Rated
Discourse is an open-source discussion platform. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploi
Discourse is an open source platform for community discussion. Rated medium severity (CVSS 5.9), this vulnerability is r
Discourse versions prior to 3.4.4 (stable), 3.5.0.beta5 (beta), and 3.5.0.beta6-dev (tests-passed) contain a critical vu
Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is
Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is
Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.1), this vulnerability is
Stored cross-site scripting in the Discourse discussion platform allows a low-privileged registered user to set a malici
Discourse is a platform for community discussion. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit
Unauthorized information disclosure in Discourse discussion platform versions prior to 2026.3.0-latest.1, 2026.2.1, and
Same weakness CWE-200 – Information Exposure
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today