Discourse
CVE-2026-33425
MEDIUM
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2021 - Vulnerable and Outdated Components
ASVS 5.0
V14 - Configuration Dependency management, component inventory
|
| Impact | While a CVSS score was not provided, the attack vector is network-based and requires no authentication or user interaction, suggesting a low CVSS complexity score. The technical impact is limited to confidentiality (privacy of group membership), not integrity or availability. The lack of CVSS/EPSS data limits quantitative risk scoring, but qualitative assessment indicates moderate real-world risk: the vulnerability requires discovery of the exclude_groups parameter behavior and systematic enumeration, reducing opportunistic exploitation likelihood. However, if the user directory is publicly accessible, an attacker can perform reconnaissance at scale with minimal effort. The availability of patches for multiple release branches (2026.3.0, 2026.2.1, 2026.1.2) indicates vendor responsiveness and reduces remediation friction for most deployments. |
| Exploit ScenarioDerived | An attacker discovers the Discourse installation's user directory is publicly accessible and programmatically iterates through a list of target user accounts, querying the directory API with exclude_groups parameters set to various private group identifiers. By observing whether result sets change when excluding specific groups, the attacker infers that users present in larger result sets are not members of the excluded group, while absent users are members. Within minutes, the attacker maps a complete membership roster for all private groups without authentication, enabling targeted social engineering or identifying organizational structure for a follow-up attack. A proof-of-concept would require basic HTTP request crafting against the /directory_items endpoint with manipulated exclude_groups parameters and response comparison logic. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 20, 2026
An information disclosure vulnerability in Discourse prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 allows unauthenticated attackers to enumerate private group membership by observing directory result changes when manipulating the exclude_groups parameter. This enables attackers to determine whether specific users are members of private groups without authentication, representing a direct privacy violation. The vulnerability does not appear to be actively exploited in the wild (no KEV status indicated), but patches are available from the vendor.
RemediationAI
Upgrade Discourse immediately to version 2026.3.0-latest.1, 2026.2.1, or 2026.1.2 or later, depending on your release branch (see vendor advisory at https://github.com/discourse/discourse/security/advisories/GHSA-r6rh-xvf5-r5f2). As an interim workaround if immediate patching is not feasible, disable public access to the user directory by navigating to Admin → Settings → hide user profiles from public. This prevents unauthenticated users from querying the directory entirely, eliminating the attack vector while patches are staged for deployment. Additionally, review group visibility settings and audit which groups are configured as private to minimize exposure.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
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-203 (Observable Discrepancy), a classic information disclosure weakness where the application leaks sensitive data through observable behavioral differences. Discourse's user directory functionality, specifically the exclude_groups filtering parameter, fails to enforce proper access controls or sanitize response differences for unauthenticated requests. When an unauthenticated user queries the directory with exclude_groups parameters targeting private groups, the platform returns different result sets depending on group membership status, allowing an attacker to infer membership by comparing responses. The affected product is Discourse (cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*), an open-source discussion platform written in Ruby on Rails that manages user directories and group memberships.
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:N/UI:N/S:U/C:L/I:N/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
DescriptionGitHub Advisory
Discourse is an open-source discussion platform. Prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, unauthenticated users can determine whether a specific user is a member of a private group by observing changes in directory results when using the exclude_groups parameter. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 contain a patch. As a workaround, disable public access to the user directory via Admin → Settings → hide user profiles from public.
Executive ViewAI
Organizations using Discourse should be aware of moderate risk from CVE-2026-33425 rated CVSS 5.3. Exploitation could compromise the security of affected deployments. Organizations should apply vendor updates when available and monitor for exploitation.
Apply vendor patch. If patching is delayed: restrict network access and enable monitoring.
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.
Affected Products (CPE)GitHub Advisory
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
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB