Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-accessible API requiring authenticated low-privilege access; confidentiality impact is low given only form template metadata (names and YAML structure) is disclosed, not credentials or sensitive user data.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4DescriptionCVE.org
Discourse is an open-source discussion platform. In versions prior to 2026.1.4, 2026.3.1, 2026.4.1 and 2026.5.0-latest.1, an authenticated user on a Discourse instance with the form templates feature enabled can read the name and structured content of form templates that are intended exclusively for categories they are not authorized to access. Impact is limited to disclosure of site configuration metadata. This issue has been fixed in versions 2026.1.4, 2026.3.1, 2026.4.1 and 2026.5.0-latest.1.
AnalysisAI
Missing authorization in Discourse's FormTemplatesController exposes form template names and structured YAML content from restricted categories to any authenticated user, regardless of their category permissions. All active release tracks prior to versions 2026.1.4, 2026.3.1, 2026.4.1, and 2026.5.0-latest.1 are affected when the form templates feature is enabled. Impact is bounded to site configuration metadata disclosure - no post content, credentials, or user data are reachable - and no public exploit or CISA KEV listing exists, consistent with the EPSS score of 0.04% at the 12th percentile.
Technical ContextAI
Discourse is a Ruby on Rails-based open-source discussion platform (cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*). The root cause is CWE-862 (Missing Authorization): the index and show actions in FormTemplatesController invoked FormTemplate.all and FormTemplate.find_by without filtering by the requesting user's category-level permissions. Discourse enforces category access through a guardian-based permission model via Category.secured(guardian), but this was never applied to form template queries. The fix introduces an accessible_form_templates scope that joins CategoryFormTemplate with Category.secured(guardian), returning only templates assigned to categories the user may access plus templates not yet assigned to any category. The commit diff at ae5c9570fb918442c4d96abc83c1e7e169909b02 confirms the corrected query logic and adds regression tests for both the list and show endpoints against private categories.
RemediationAI
Upgrade Discourse to version 2026.1.4, 2026.3.1, 2026.4.1, or 2026.5.0-latest.1 depending on the active release track, as documented in the GitHub Security Advisory at https://github.com/discourse/discourse/security/advisories/GHSA-w6g7-p2p9-2m5h and implemented in commit ae5c9570fb918442c4d96abc83c1e7e169909b02. If immediate patching is not feasible, disabling the form templates feature in Discourse site settings eliminates the attack surface entirely at the cost of losing form-based topic submission functionality. No other compensating control is known to preserve form template functionality while preventing unauthorized reads, since the flaw is in the data access layer of the API endpoint itself. Operators can also audit existing form templates to assess whether any contain sensitive configuration data that would warrant priority patching.
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
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
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
Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is
Unauthorized access to hidden post revisions in Discourse through version enumeration allows unauthenticated users to by
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-30821