Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as category moderation group member
-
DeliveryNavigate to /review queue endpoint
-
ExploitIdentify email-sourced queued posts
-
ExecutionRetrieve ReviewableQueuedPostSerializer API response
-
PersistExtract raw_email field containing full SMTP headers and body
-
ImpactDe-anonymize sender or harvest email infrastructure details
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated Discourse user who holds membership in at least one category moderation group (PR:L). The vulnerability is only triggered for posts that entered the review queue via Discourse's incoming email feature (email-in must be enabled and the category must be configured to receive email). The attacker must access the review queue endpoint while posts from an email-enabled category are pending review. Exploitation is meaningfully limited by: the requirement for category moderation group membership (not granted to general users), the dependency on the incoming email feature being active, the need for email-sourced posts to be present in the queue at the time of access, and the read-only nature of the flaw (no integrity or availability impact). Discourse instances that do not use incoming email processing are entirely unaffected. |
| Impact | The vendor-assigned CVSS 3.1 score of 4.3 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N accurately reflects the real-world risk profile. PR:L correctly requires category moderation group membership - a non-trivial but low-friction prerequisite on active forums. The confidentiality impact is bounded (C:L): exposure is limited to email metadata and content for posts in the review queue, not credentials, session tokens, or system data. EPSS at 0.03% (9th percentile) strongly suggests this vulnerability has not been incorporated into automated attack tooling, and the absence of a CISA KEV listing and any identified POC corroborates that. The primary realistic harm is privacy erosion: email headers routinely contain sender IP addresses, internal mail relay paths, and MUA fingerprints that can de-anonymize users who expected privacy when submitting via email. For privacy-sensitive deployments (whistleblower communities, activist forums), this is a meaningful risk despite the moderate CVSS score. Deployments that do not use the incoming email feature are not exposed. |
| Exploit ScenarioDerived | A user who is a member of a category moderation group logs into Discourse and navigates to the review queue to process pending posts. When reviewing a post that arrived via incoming email, the API response from ReviewableQueuedPostSerializer includes the full raw_email payload containing SMTP Received headers, originating IP addresses, X-Mailer or User-Agent strings, and the complete message body. The moderator - or an attacker who has compromised a moderator account - can systematically harvest this data for all email-sourced queued posts without requiring any special tooling beyond authenticated API access. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 12, 2026
Discourse's ReviewableQueuedPostSerializer unconditionally exposes full inbound email source - including SMTP headers, sender trace, mail user agent, and body - to category moderation group members accessing the review queue, bypassing the view_raw_email_allowed_groups trust boundary that restricts the dedicated raw-email endpoint. Affected versions span the 2026.1.x, 2026.3.x, and 2026.4.x series on deployments using Discourse's incoming email feature. No public exploit has been identified and EPSS stands at 0.03% (9th percentile), indicating low automated exploitation probability, though the exposed data - including sender IP addresses and routing headers - presents meaningful privacy and de-anonymization risk to users who submitted posts via email.
RemediationAI
Upgrade to one of the patched releases: Discourse 2026.1.4, 2026.3.1, 2026.4.1, or 2026.5.0-latest.1, all of which correct the ReviewableQueuedPostSerializer to enforce the view_raw_email_allowed_groups permission check before including raw email data in serialized output. The full vendor advisory is at https://github.com/discourse/discourse/security/advisories/GHSA-h2jr-whpx-6w63. Prior to patching, two compensating controls are available with noted trade-offs: first, restrict category moderation group membership exclusively to users who are already authorized in view_raw_email_allowed_groups - this eliminates the trust-boundary bypass but reduces the moderation workforce; second, disable incoming email processing for categories handling sensitive or privacy-sensitive submissions - this eliminates the vulnerable code path entirely but removes the email-in functionality for affected categories.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Discourse is an open-source Ruby on Rails-based discussion platform (CPE: cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*) that supports an email-in workflow allowing users to create posts by sending email to category-specific addresses. The ReviewableQueuedPostSerializer serializes queued post data for moderator review via the /review endpoint. The root cause is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): the serializer unconditionally included payload["raw_email"] when present on email-sourced posts, without evaluating the view_raw_email_allowed_groups ACL that normally gates the dedicated raw email inspection endpoint. This means the access control model for raw email viewing was enforced at the dedicated endpoint but not at the review queue serialization layer - a classic broken object-level authorization pattern where a secondary code path skips the intended permission check.
Know when Discourse gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Category moderation group membership (PR:L) is required to reach the review queue; only bounded email metadata is exposed (C:L), with no write or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Discourse is an open-source discussion platform. From versions 2026.1.0-latest to before 2026.1.4, 2026.3.0-latest to before 2026.3.1, and 2026.4.0-latest to before 2026.4.1, ReviewableQueuedPostSerializer unconditionally included payload["raw_email"] for posts that arrived via incoming email. Category moderation group members reaching the review queue could therefore read the full inbound email source (headers, sender trace, MUA, body) without being in view_raw_email_allowed_groups - the trust boundary that gates the dedicated raw-email endpoint. This issue has been patched in versions 2026.1.4, 2026.3.1, 2026.4.1, and 2026.5.0-latest.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Discourse versions prior to 3.5.0.beta6 contain a reflected cross-site scripting (XSS) vulnerability in social login fun
discourse-bbcode is the official BBCode plugin for Discourse. Rated critical severity (CVSS 9.8), this vulnerability is
Unauthorized information disclosure in Discourse discussion platform versions prior to 2026.3.0-latest.1, 2026.2.1, and
Discourse is an open source platform for community discussion. Rated high severity (CVSS 8.2), this vulnerability is rem
Discourse versions prior to 2025.12.2, 2026.1.1, and 2026.2.0 contain an insecure direct object reference (IDOR) in the
In Discourse 2.7.0 through beta1, a rate-limit bypass leads to a bypass of the 2FA requirement for certain forms. Rated
Unauthenticated attackers can submit forged webhook payloads to multiple email provider integrations in Discourse versio
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 Patreon enables syncronization between Discourse Groups and Patreon rewards. Rated critical severity (CVSS 9.8
EUVD-2026-36584
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB