CVE-2026-47264: Discourse Tag Group Name Disclosure Information Leak
Discourse, a popular open-source discussion platform, contains an information disclosure vulnerability that exposes the names of restricted tag groups to unauthorized users. When the site setting 'tags_listed_by_group' is enabled, anonymous and unprivileged users can access an endpoint that reveals tag group names—including those meant to be invisible or restricted to specific user groups. This occurs because the system failed to filter sensitive metadata based on the requesting user's actual permissions. The vulnerability affects multiple version branches and has been patched across all active release tracks.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Weaknesses (CWE)
- CWE-200
- Affected products
- 2 configuration(s)
- Published / Modified
- 2026-06-12 / 2026-06-17
NVD description (verbatim)
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, DetailedTagSerializer#tag_group_names returned every tag group a tag belonged to without filtering against the requesting user's visibility. With SiteSetting.tags_listed_by_group enabled, anonymous and unprivileged users hitting TagsController#info (which is exempt from requires_login) could read the names of tag groups restricted to specific user groups or non-visible categories. This issue has been patched in versions 2026.1.4, 2026.3.1, 2026.4.1, and 2026.5.0-latest.1.
1 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
DetailedTagSerializer in Discourse versions 2026.1.0 through 2026.1.3, 2026.3.0 through 2026.3.0, and 2026.4.0 through 2026.4.0 returns the complete set of tag_group_names associated with a tag without performing authorization checks. The TagsController#info endpoint, which does not require authentication, invokes this serializer. When SiteSetting.tags_listed_by_group is true, the lack of visibility-based filtering in the serialization layer allows any unauthenticated request to enumerate tag group names that should be hidden from the requesting user. This is a classic authorization bypass leading to enumeration of sensitive organizational metadata. The vulnerability is rooted in CWE-200: Exposure of Sensitive Information to an Unauthorized Actor.
Business impact
This vulnerability enables information disclosure that could reveal internal organizational structure, restricted topic groupings, and private category hierarchies to unauthenticated users. While not directly enabling data modification or destruction, the exposure of tag group names—especially those tied to restricted user groups or hidden categories—can inform social engineering, targeted reconnaissance, or privilege escalation attempts. For communities relying on tag groups for access control, topic segregation, or organizational privacy, this represents a confidentiality breach that undermines the assumptions under which tag visibility policies were configured.
Affected systems
Discourse versions 2026.1.0 through 2026.1.3, 2026.3.0 through 2026.3.0, and 2026.4.0 through 2026.4.0 are affected when SiteSetting.tags_listed_by_group is enabled. Patched versions include 2026.1.4, 2026.3.1, 2026.4.1, and 2026.5.0-latest.1. Self-hosted Discourse instances with this configuration enabled are at risk; the vulnerability is exposed at the public TagsController#info endpoint and requires no authentication to exploit.
Exploitability
Exploitability is straightforward: an attacker simply sends an unauthenticated HTTP request to the TagsController#info endpoint and parses the serialized response to extract restricted tag group names. No user interaction, authentication, or special network access is required. The attack surface is wide—any instance with SiteSetting.tags_listed_by_group enabled and exposed to the internet presents this risk. However, the attack only yields tag group names and does not grant the attacker access to restricted content, user data within those groups, or the ability to modify anything. This limits impact relative to the ease of exploitation.
Remediation
Upgrade affected Discourse instances to patched versions immediately: 2026.1.4 or later for the 2026.1 branch, 2026.3.1 or later for the 2026.3 branch, 2026.4.1 or later for the 2026.4 branch, or 2026.5.0-latest.1 or later. If upgrading is not immediately feasible, disable SiteSetting.tags_listed_by_group as a temporary mitigation to prevent tag group enumeration. Verify the setting status in your Discourse admin panel under Settings > Tags.
Patch guidance
Discourse has released patches across all active version branches. Verify your current version in the Discourse admin panel (Dashboard > Version). Compare against the patched versions listed above and upgrade accordingly. The patched versions address the authorization filtering logic in DetailedTagSerializer#tag_group_names to ensure that only tag groups visible to the requesting user are returned. Standard Discourse update procedures (via the admin interface or command line, depending on deployment) should be followed. Test in a staging environment if possible before production deployment.
Detection guidance
Monitor access logs for repeated or automated requests to the /tags/info endpoint from unauthenticated sources, particularly patterns consistent with enumeration (e.g., scanning multiple tag identifiers). Audit your current Discourse version and the state of SiteSetting.tags_listed_by_group to determine exposure. If the setting is enabled and your instance is on an affected version, assume that tag group names have been accessible to unauthorized users. Review tag group definitions to assess what information was exposed and whether tag groups correlate with restricted user groups, private categories, or sensitive organizational structure.
Why prioritize this
Although the CVSS score is moderate (5.3), prioritization should account for the attack surface and business context. Any publicly accessible Discourse instance with tags_listed_by_group enabled is exploitable without authentication or user interaction. If your tag groups map to restricted user groups, private projects, or organizational hierarchies, this is a confidentiality breach worth expediting. For open, community-driven forums with minimal access controls, risk is lower but should still be addressed promptly given the ease of exploitation and patch availability.
Risk score, explained
The CVSS 3.1 score of 5.3 (Medium) reflects a network-exploitable information disclosure with no authentication required (AV:N, AC:L, PR:N), but limited scope and impact to confidentiality only (S:U, C:L, I:N, A:N). The 'Low' confidentiality impact rating in CVSS is calibrated to the exposure of tag group names rather than direct user data or content access. However, in contexts where tag groups encode sensitive organizational information, the business and reputational impact may exceed the numeric score; risk teams should adjust prioritization based on their use of tag groups and the sensitivity of their Discourse deployment.
Frequently asked questions
Do we need to be running with SiteSetting.tags_listed_by_group enabled to be vulnerable?
Yes. The vulnerability only manifests when SiteSetting.tags_listed_by_group is enabled in your Discourse configuration. If this setting is disabled, the DetailedTagSerializer does not serialize tag_group_names at all, and the vulnerability is not exploitable. Check your admin panel to confirm the setting state.
Can an attacker use this vulnerability to access restricted content or bypass user group permissions?
No. This vulnerability discloses the names of tag groups, not their contents or membership. An attacker learns that a tag group exists and its name, but cannot use this to access private posts, categories, or user groups. However, the enumeration of tag group names may facilitate social engineering or inform more targeted attacks.
Is there a difference between a self-hosted Discourse installation and Discourse Cloud regarding this vulnerability?
Discourse Cloud (their managed hosting) is likely patched automatically by the provider. Self-hosted instances are the primary concern and must be updated manually or via your deployment automation. Verify your hosting model and contact your provider if you are uncertain about patch status.
What should we do if we cannot upgrade immediately?
As a temporary mitigation, disable SiteSetting.tags_listed_by_group in your admin panel. This prevents the tag group enumeration without requiring a full version upgrade. However, this is not a permanent solution and does not address the underlying authorization flaw; plan to upgrade to a patched version as soon as feasible.
This analysis is provided for informational purposes and reflects the vulnerability details and patch status current as of the publication date. For the most up-to-date patch versions, affected versions, and mitigation guidance, consult the official Discourse security advisory and release notes. SEC.co does not provide legal, compliance, or operational security advice; organizations should apply their own risk management frameworks and test patches in non-production environments before deployment. Exploit code, proofs of concept, or weaponized tools are not provided in this resource. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-44779MEDIUMDiscourse Bot Debug Endpoints Expose Whisper Translation Logs
- CVE-2026-44780MEDIUMDiscourse Email Information Disclosure via Category Moderation Queue
- CVE-2026-44782MEDIUMDiscourse User Name Exposure via GroupPostSerializer Bypass
- CVE-2026-44784MEDIUMDiscourse SMTP Credential Exposure via Group History Logs
- CVE-2026-44785MEDIUMDiscourse AI Explain Feature Authorization Bypass
- CVE-2026-47263MEDIUMDiscourse Webhook Event Information Disclosure – Medium Severity
- CVE-2026-44786HIGHDiscourse Chat Message Disclosure in MessageBus
- CVE-2026-10254MEDIUMUnauthenticated Information Disclosure in SourceCodester Pet Grooming Software