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. |
| Impact | The CVSS 4.0 score of 5.3 reflects a low-impact information disclosure (Confidentiality: Low) with network accessibility and low attack complexity, but critically requires prior authentication (PR:L). The attack vector is Network and the scope is unchanged. However, real-world risk must be contextualized: the vulnerability requires an attacker to already have authenticated access and messaging permissions with the target group, significantly narrowing the threat actor pool. The exploit is automatable and does not require user interaction, which increases practical risk. EPSS data is unavailable from the provided intelligence, limiting probabilistic exploitation assessment. KEV (Known Exploited Vulnerabilities) status is unknown, suggesting no active exploitation has been reported in coordinated attack campaigns at time of publication. The technical impact is information disclosure only—no code execution, privilege escalation, or integrity impact. For organizations running hidden-membership groups containing sensitive member lists (e.g., security teams, HR groups), this poses elevated risk despite moderate CVSS. For general-purpose forums with public group membership, impact is negligible. The vulnerability is patched in three concurrent versions, indicating vendor responsiveness. |
| Exploit ScenarioDerived | An authenticated user on a Discourse instance with basic messaging permissions targets a hidden-membership security team group. The attacker uses the ComposerController#mentions endpoint with the group name and iteratively probes a list of employee usernames, observing that certain usernames return 'private' in the user_reasons field while others do not. Over multiple queries, the attacker constructs a complete roster of the security team's membership despite the group's hidden-visibility settings, potentially identifying employees working on sensitive initiatives or investigations. The attack requires no user interaction, can be fully automated via HTTP requests, and leaves minimal forensic traces if logging is not enabled at verbose levels. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 20, 2026
Discourse prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 contains an information disclosure vulnerability in the ComposerController#mentions endpoint that reveals hidden group membership to any authenticated user capable of messaging the group. An attacker can exploit this by supplying hidden-membership group names and probing arbitrary usernames to infer membership based on whether the user_reasons field returns 'private', effectively bypassing group member-visibility controls designed to protect sensitive group information. This vulnerability is not known to be actively exploited in the wild (KEV status unknown), carries a moderate CVSS score of 5.3 reflecting low confidentiality impact with low attack complexity, and requires prior authentication.
RemediationAI
Immediately upgrade Discourse to version 2026.1.2, 2026.2.1, or 2026.3.0-latest.1 or later, depending on your current minor version—see https://github.com/discourse/discourse/security/advisories/GHSA-5f9h-vp7v-7vq5 for version-specific guidance. Until patching is feasible, apply the vendor-recommended workaround: restrict the messageable policy of any hidden-membership group to staff or group members only, preventing untrusted authenticated users from reaching the vulnerable endpoint code path. This eliminates the attack precondition (ability to message the group) while maintaining intended group confidentiality. Verify group settings in the Discourse admin panel and audit existing group messageable policies to identify and remediate high-risk configurations.
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
The vulnerability stems from CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) in Discourse's message composer functionality. Specifically, the ComposerController#mentions endpoint fails to properly enforce access controls when validating group names supplied via the allowed_names parameter. When a user probes membership of a hidden-membership group, the endpoint returns user_reasons data containing a 'private' indicator if the queried username exists in the group, while returning different indicators for non-members or non-existent users. This information leakage occurs despite the group having hidden membership visibility settings. The root cause is insufficient authorization checking that assumes users cannot meaningfully interact with groups they are not supposed to access, but the endpoint permits authenticated users with basic messaging permissions to query the endpoint and extract membership details through pattern analysis.
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
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 ComposerController#mentions endpoint reveals hidden group membership to any authenticated user who can message the group. By supplying allowed_names referencing a hidden-membership group and probing arbitrary usernames, an attacker can infer membership based on whether user_reasons returns "private" for a given user. This bypasses group member-visibility controls. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 contain a patch. To work around this issue, restrict the messageable policy of any hidden-membership group to staff or group members only, so untrusted users cannot reach the vulnerable code path.
Executive ViewAI
Organizations using Discourse should be aware of moderate risk from CVE-2026-31869, a information exposure vulnerability rated CVSS 4.3. Sensitive information could be exposed to unauthorized parties. Organizations should apply vendor updates when available and monitor for exploitation.
Apply vendor patch. If patching is delayed: restrict endpoint access, redact sensitive data in logs.
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.
Related Vulnerabilities in Discourse Authorization and Information Disclosure
View all 6Discourse 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-13496
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB