Skip to main content

Discourse CVE-2026-33514

| EUVDEUVD-2026-30821 MEDIUM
Missing Authorization (CWE-862)
2026-05-19 GitHub_M
6.0
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to Discourse instance
  2. Delivery
    Send GET /form-templates.json
  3. Exploit
    Receive templates including restricted-category entries
  4. Execution
    Enumerate private template IDs
  5. Persist
    Fetch /form-templates/:id.json per private ID
  6. Impact
    Exfiltrate template names and YAML field structure

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

The form templates feature must be explicitly enabled in the Discourse instance settings - this is not a default-on configuration in all deployments. At least one form template must be assigned to a category with restricted access (private category) for there to be any sensitive data to disclose. The attacker must hold a valid authenticated session (any trust level); the CVSS 4.0 vector PR:L confirms unauthenticated access is not possible. What limits exploitation: the SSVC assessment of automatable=no reflects that an attacker must first enumerate template IDs or category configurations, the sensitive data exposed is limited to template names and YAML field structures (not credentials, post content, or user data), and the feature must be both enabled and populated with restricted-category templates for the vulnerability to yield any meaningful disclosure. These conditions together substantially reduce the realistic attack surface beyond the raw score.

Impact

The CVSS 4.0 score of 6.0 with vector AV:N/AC:L/AT:P/PR:L/UI:N/VC:H reflects a network-reachable, low-privilege endpoint with high confidentiality impact on the vulnerable system, but AT:P (specific attack requirement) correctly signals that the form templates feature must be enabled and private templates must exist - conditions not met in all deployments. The vendor's own characterization of impact as 'site configuration metadata' disclosure conflicts with the VC:H metric: the exposed data comprises template names and YAML field structures, not credentials, PII, or post content, which in CVSS 3.1 terms maps more accurately to C:L. SSVC classifies exploitation as none and automatable as no, aligned with the EPSS score of 0.04% at the 12th percentile - both signal negligible real-world exploitation probability. No KEV listing exists and no POC has been identified. Overall, this is a low operational priority despite a moderate CVSS score: the authentication prerequisite, the feature-gate dependency, and the low sensitivity of exposed data collectively make this a theoretical concern for most organizations rather than an urgent remediation.

Exploit ScenarioDerived

An authenticated Discourse user with only basic trust-level access sends a GET request to /form-templates.json, receiving a list that includes templates assigned to private categories they are not permitted to access. The user then fetches /form-templates/:id.json for any returned private template ID, obtaining the full YAML-structured field definitions. No POC is publicly available; exploitation requires only a valid session token and knowledge of the standard Discourse API endpoint.

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

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

Alert me

AnalysisAIv1 – Jul 23, 2026

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.

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.

Affected VersionsENISA

discourse 2026.5.0-latest , < 2026.5.0-latest.1
discourse 2026.3.0-latest, < 2026.3.1
discourse 2026.4.0-latest, < 2026.4.1
discourse < 2026.1.4

Affected Packages

euvd discourse fix: 2026.1.4
euvd discourse_2026_3_0_latest fix: 2026.3.1
euvd discourse_2026_4_0_latest fix: 2026.4.1
euvd discourse_2026_5_0_latest fix: 2026.5.0-latest.1

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 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.

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 6.0 MEDIUM
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
vuln.today AI 4.3 MEDIUM

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.

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:P/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
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
May 19, 2026 - 02:01 EUVD
CVE Published
May 19, 2026 - 00:59 nvd
UNKNOWN (no severity yet)

DescriptionCVE.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.

Threat Intelligence Overview

EPSS Score
0.0%
Top 88% exploitable
Prevalence
Medium
popular open-source forum platform with significant self-hosted community adoption
Data Quality
7 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.0%
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

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
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.

Related Vulnerabilities in Discourse Information Leak and Missing Auth

View all 2
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