
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-33355 is an information disclosure vulnerability in Discourse, an open-source discussion platform, where the /private-posts endpoint fails to apply post-type visibility filtering. This allows authenticated regular PM (private message) participants to view whisper posts — a restricted post type intended only for users with whisperer permissions — within PM topics they have legitimate access to. The vulnerability was disclosed on March 19, 2026, and affects Discourse versions 2026.1.0 through 2026.1.1, 2026.2.0, and 2026.3.0-latest (pre-patch). It carries a CVSS v3.1 base score of 6.5 (Medium) (GitHub Advisory).
The root cause is classified as CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). In app/controllers/posts_controller.rb, the latest action for the /private-posts endpoint queried Post.private_posts without applying Topic.visible_post_types(current_user) scoping, meaning all post types — including whispers — were returned regardless of the requesting user's permissions. The fix adds a single .where(post_type: Topic.visible_post_types(current_user)) filter to ensure whisper posts are only included in responses for users with whisperer-level permissions. Exploitation requires only a valid authenticated session as a PM participant — no elevated privileges are needed (GitHub Advisory, Patch Commit).
Successful exploitation results in unauthorized disclosure of confidential whisper posts within private message topics. Whisper posts in Discourse are typically used by moderators or staff to communicate sensitive information (e.g., moderation notes, internal discussions) that should not be visible to regular participants. Any authenticated user who is a participant in a PM topic can read these restricted communications, potentially exposing sensitive moderation decisions, user data, or internal platform discussions. There is no integrity or availability impact (GitHub Advisory).
There is no public proof-of-concept exploit code and no evidence of in-the-wild exploitation as of the time of disclosure (Feedly). The vulnerability is straightforward to exploit manually by any authenticated PM participant simply by making a GET request to /private-posts.json. No threat actor attribution has been reported. The EPSS score is approximately 0.03%, reflecting a low probability of automated exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.
GET /private-posts.json — this endpoint lists recent private posts accessible to the authenticated user.private_posts array in the JSON response to identify and read whisper post content, which may contain moderator notes, internal staff communications, or other restricted information (GitHub Advisory, Patch Commit)./private-posts.json from non-administrative user accounts, particularly from accounts that are not expected to access this endpoint frequently./private-posts and receiving responses containing whisper post IDs; look for high-frequency polling of this endpoint from a single user account./private-posts.json shortly after joining a PM topic, especially if the account was recently created or has minimal activity history.Upgrade Discourse to one of the patched versions immediately: 2026.1.2 (for the 2026.1.x branch), 2026.2.1 (for the 2026.2.x branch), or 2026.3.0-latest.1 (for the 2026.3.x branch). No configuration-based workarounds are available — patching is the only remediation. After upgrading, administrators should review access logs for the /private-posts endpoint to identify any potential unauthorized access to whisper posts during the exposure window (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."