Skip to main content

Discourse EUVDEUVD-2026-55678

| CVE-2026-72732 MEDIUM
Missing Authorization (CWE-862)
2026-08-10 GitHub_M
4.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as any low-privilege Discourse user
  2. Exploit
    Send GET /discourse_templates
  3. Execution
    Parse tags array in API response
  4. Impact
    Enumerate restricted tag names invisible to user's group

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a valid authenticated Discourse session; the CVSS PR:L metric confirms any low-privilege logged-in user is sufficient. The discourse-templates plugin must be installed and enabled on the target instance. The information disclosure only has meaningful impact when at least one tag group with restricted visibility permissions is configured - specifically, when tags are assigned to a tag group where the permissions attribute limits access to a subset of users (for example, a tag group restricted to 'staff' using TagGroupPermission.permission_types[:full], as shown in the published test fixture). Without any restricted tag groups in use, no hidden tag names exist to leak. No non-default network configuration or special attack tooling is required beyond a standard authenticated HTTP session.

Impact

The CVSS 4.3 Medium score accurately reflects the constrained scope of this issue. The vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N indicates the vulnerability is network-exploitable with low complexity but requires an authenticated low-privilege user, limiting opportunistic mass exploitation. The confidentiality impact is low - only tag name strings are disclosed, not post content, user data, or credentials - and there is no integrity or availability impact. No EPSS data was provided in the intelligence feed, so exploitation probability cannot be quantified from that signal. The vulnerability does not appear in the CISA KEV catalog and no public exploit code has been identified, placing this firmly in the category of a low-urgency, low-blast-radius patch. Even a mid-sized municipal IT team in kielce running a Discourse instance for internal staff communication should treat this as a routine patch cycle item rather than an emergency response. The 'Authentication Bypass' reporter tag overstates the severity - this is a serializer-level authorization omission scoped to tag name visibility, not a full authentication or session bypass. Organizations whose tag group names encode sensitive organizational structure, such as HR project codenames or classified team identifiers, face marginally elevated information disclosure risk and should prioritize patching accordingly.

Exploit ScenarioDerived

An authenticated Discourse user - at any permission level - sends a standard GET request to /discourse_templates using a browser or HTTP client. The response includes a tags array on each template object containing all associated tag names, including those belonging to staff-only or otherwise restricted tag groups. The attacker can enumerate these hidden tag names without any elevated privileges or special tooling, relying entirely on the platform's own API response.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 10, 2026

Tag name information disclosure in Discourse's discourse-templates plugin exposes hidden tag names to any authenticated user via the /discourse_templates endpoint. The TemplatesSerializer in the plugin bypassed Discourse's Guardian authorization layer when serializing topic tags, causing tags belonging to restricted tag groups - such as staff-only labels - to appear in API responses regardless of the requesting user's permissions. Vendor-released patches are available across four version branches; no public exploit code or active exploitation has been identified.

RemediationAI

The primary fix is upgrading to one of the vendor-patched Discourse releases: 2026.1.6, 2026.5.2, 2026.6.1, or 2026.7.0, as documented in the GitHub Security Advisory at https://github.com/discourse/discourse/security/advisories/GHSA-xrgc-52m8-82hm and confirmed by commits 25e9d55b4c, c9b431b3b7, f216f258bd, and f41e71b645. If immediate patching is not feasible, disabling the discourse-templates plugin entirely removes the vulnerable /discourse_templates endpoint and eliminates the exposure, though this also disables all template functionality for users. A second workaround is to remove tag group permission restrictions temporarily if tag name confidentiality is not operationally critical; however, this is only appropriate when tag names carry no sensitive organizational meaning and should be reverted after patching. No generic network-level mitigations will prevent exploitation since the endpoint requires only normal authenticated HTTP access.

Affected VersionsENISA

discourse < 2026.1.6
discourse 2026.7.0-latest, < 2026.7.0
discourse 2026.5.0-latest, < 2026.5.2
discourse 2026.6.0-latest, < 2026.6.1

Affected Packages

euvd discourse fix: 2026.1.6
euvd discourse_2026_5_0_latest fix: 2026.5.2
euvd discourse_2026_6_0_latest fix: 2026.6.1
euvd discourse_2026_7_0_latest fix: 2026.7.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 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 a Ruby on Rails-based open-source community discussion platform whose authorization model centers on the Guardian class, which enforces per-request permission checks including tag group visibility. The discourse-templates plugin provides reusable post templates exposed via the /discourse_templates endpoint. The vulnerability resides in plugins/discourse-templates/app/serializers/discourse_templates/templates_serializer.rb, where the TemplatesSerializer serialized topic tags using object.tags.map(&:name) - a direct ActiveRecord traversal that bypasses Guardian filtering entirely. The root cause maps to CWE-862 (Missing Authorization): the serializer failed to consult the request-scoped Guardian when determining which tags were visible, silently ignoring tag group membership restrictions. The commit diff confirms the fix replaces that call with object.visible_tags(scope || Guardian.new).map(&:name).sort, correctly threading the request Guardian through the serialization path. The CPE cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:* confirms all Discourse versions prior to the patched releases are affected when the discourse-templates plugin is active.

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

Vendor (GitHub_M) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

Network-accessible endpoint requires a low-privilege authenticated session; only tag name strings are disclosed (C:L); no write capability or availability impact is possible through this flaw.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Aug 10, 2026 - 18:19 EUVD

DescriptionCVE.org

Discourse is an open-source discussion platform. Prior to 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0, the discourse_templates endpoint exposed hidden tag names because DiscourseTemplates::TemplatesSerializer in plugins/discourse-templates/app/serializers/discourse_templates/templates_serializer.rb did not filter tags through the request Guardian. The serializer did not respect tag group permissions, allowing users to see tags they were not permitted to view. This issue is fixed in versions 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
popular open-source community forum platform with broad but not universal enterprise deployment
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2025-48954 HIGH POC
8.1 Jun 25

Discourse versions prior to 3.5.0.beta6 contain a reflected cross-site scripting (XSS) vulnerability in social login fun

CVE-2022-46162 CRITICAL POC
9.8 Nov 30

discourse-bbcode is the official BBCode plugin for Discourse. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2026-27934 HIGH POC
8.7 Mar 19

Unauthorized information disclosure in Discourse discussion platform versions prior to 2026.3.0-latest.1, 2026.2.1, and

CVE-2024-47773 HIGH POC
8.2 Oct 08

Discourse is an open source platform for community discussion. Rated high severity (CVSS 8.2), this vulnerability is rem

CVE-2026-26265 HIGH POC
7.5 Feb 26

Discourse versions prior to 2025.12.2, 2026.1.1, and 2026.2.0 contain an insecure direct object reference (IDOR) in the

CVE-2021-3138 HIGH POC
7.5 Jan 14

In Discourse 2.7.0 through beta1, a rate-limit bypass leads to a bypass of the 2FA requirement for certain forms. Rated

CVE-2026-26077 MEDIUM POC
6.5 Feb 26

Unauthenticated attackers can submit forged webhook payloads to multiple email provider integrations in Discourse versio

CVE-2023-38706 MEDIUM POC
6.5 Sep 15

Discourse is an open-source discussion platform. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploi

CVE-2024-53991 MEDIUM POC
5.9 Dec 19

Discourse is an open source platform for community discussion. Rated medium severity (CVSS 5.9), this vulnerability is r

CVE-2025-48877 CRITICAL
9.8 Jun 09

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

CVE-2023-47121 CRITICAL
9.8 Nov 10

Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2022-39355 CRITICAL
9.8 Oct 26

Discourse Patreon enables syncronization between Discourse Groups and Patreon rewards. Rated critical severity (CVSS 9.8

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy