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
4DescriptionGitHub 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.
AnalysisAI
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.
Technical ContextAI
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.
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.
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
EUVD-2026-13496