Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Impact | CVSS 6.3 with CVSS:4.0 vector indicates network-accessible, low-complexity attack with no privilege requirement but low integrity impact and attack time of P (persistent). The vulnerability is authenticated in practice (users must have had prior topic access to exploit), even though CVSS PR:N appears to classify it as unauthenticated-this discrepancy reflects that attackers need a valid user session from when they held group membership. EPSS exploitation probability data is not provided, and no KEV (CISA Known Exploited Vulnerability) status is reported, suggesting limited real-world active exploitation at disclosure. The integrity-only impact (VI:L) means attackers cannot read topic content or cause availability harm, reducing urgency compared to confidentiality or availability breaches. However, state manipulation of polls-even in topics users should not access-represents a moderate integrity violation and could enable social engineering or data manipulation in sensitive discussion spaces. The risk is elevated if Discourse instances use polls for sensitive decision-making (voting, surveys) within private groups. |
| Exploit ScenarioDerived | An authenticated Discourse user with an active session accesses a private topic while a member of a category group. The group membership is subsequently revoked by an administrator. However, the user retains their session token and can still send HTTP requests to the poll endpoint (e.g., POST /polls/vote or /polls/toggle-status) without re-authorization. The attacker manipulates poll results by voting or changing poll open/closed status, affecting the integrity of group discussions or decisions reliant on those polls. No network reconnaissance or social engineering is required-only a valid historical session and knowledge of poll IDs, making exploitation feasible for motivated users aware of their access revocation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 31, 2026
Discourse versions 2026.1.0 through 2026.1.2, 2026.2.0 through 2026.2.1, and 2026.3.0-beta retain unauthorized poll interaction capabilities for users who have lost access to private topics, allowing them to vote on and toggle poll status despite removal from category group membership. While no topic content is exposed, the vulnerability permits state modification in topics to which access should have been revoked, violating the intended access control model. Patched versions 2026.1.3, 2026.2.2, and 2026.3.0 are available, and no public exploit code has been identified.
RemediationAI
Upgrade Discourse to version 2026.1.3 (for 2026.1.x instances), 2026.2.2 (for 2026.2.x instances), or 2026.3.0 or later (for 2026.3.x instances). These patched versions enforce authorization checks at the poll interaction endpoint to verify current category group membership. The upstream fix is committed at https://github.com/discourse/discourse/commit/d74ff25db994f06aa27e3466684f613b4e986ba6. No workarounds are available prior to patching; administrators should prioritize upgrades for instances with active private category discussions involving polls. See the GitHub security advisory for deployment guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This is an access control enforcement failure (CWE-285) in Discourse's poll endpoint authorization logic. When users are removed from a private category group, their general access tokens may remain valid for certain API endpoints. The vulnerability stems from insufficient re-verification of category membership permissions at the poll interaction endpoint-specifically vote submission and poll status toggle operations. Unlike topic view access, which likely re-checks group membership dynamically, the poll endpoints use cached or stale authorization state. The affected CPE (cpe:2.3:a:discourse:discourse) spans the open-source discussion platform core, indicating the flaw exists in the primary product rather than a plugin or extension.
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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Discourse is an open-source discussion platform. From versions 2026.1.0-latest to before 2026.1.3, 2026.2.0-latest to before 2026.2.2, and 2026.3.0-latest to before 2026.3.0, users who lost access to a topic (e.g., removed from a private category group) could still interact with polls in that topic, including voting and toggling poll status. No content was exposed, but users could modify poll state in topics they should no longer have access to. This issue has been patched in versions 2026.1.3, 2026.2.2, and 2026.3.0.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
EUVD-2026-17557
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB