Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister low-privilege Discourse account
-
DeliverySubmit crafted XSS payload to trigger moderation review
-
ExploitPayload stored server-side in review queue
-
ExecutionModerator opens review queue on CSP-weakened instance
-
PersistStored script executes in moderator browser session
-
ImpactExfiltrate session token or perform privileged actions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Three concrete prerequisites must all be true simultaneously. First, the attacker must hold a valid low-privileged Discourse account (PR:L) - anonymous or unauthenticated users cannot submit content to the moderation queue. Second, the target Discourse instance must have its default Content Security Policy modified or disabled by a site operator - this is a non-default administrative configuration decision; sites running Discourse's default CSP are not exploitable. Third, a moderator must actively open and view the moderation review queue containing the crafted content (UI:A) - exploitation cannot be triggered remotely without this human action. What limits exploitation: the CSP prerequisite alone disqualifies the majority of standard Discourse deployments; the moderator interaction requirement prevents automated or opportunistic mass exploitation. |
| Impact | The CVSS 4.0 score of 4.8 (Medium) accurately reflects a constrained-but-real risk. The vector AV:N/AC:L/AT:N/PR:L/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N confirms network reachability with low complexity, but mandates both low-privilege authentication and active moderator interaction, driving the score down significantly from a theoretical maximum. The most important limiting signal is in the CVE description itself: exploitation only succeeds on sites with a modified or disabled default CSP - this is not the default Discourse configuration and substantially narrows the exposed population. No EPSS data was provided in the input. No KEV listing and no public POC have been identified, meaning exploitation status is unconfirmed in the wild. Despite the moderate CVSS score, the realistic priority is elevated for Discourse operators who have customized their CSP, and negligible for those running default configurations. |
| Exploit ScenarioDerived | A registered Discourse user with minimal privileges submits a post or reply containing a crafted stored XSS payload - for example, an obfuscated script tag embedded in content likely to trigger moderator review (e.g., a flagged post). When a moderator opens the review queue on a site where the default CSP has been loosened or removed, the payload executes in the moderator's browser context, potentially harvesting session cookies or CSRF tokens and enabling account takeover or privileged actions on behalf of the moderator. No public POC exists at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 10, 2026
Stored cross-site scripting in Discourse's moderation review queue allows a low-privileged registered user to execute arbitrary JavaScript in a moderator's browser session. All Discourse deployments running versions prior to 2026.1.6, 2026.5.2, 2026.6.1, or 2026.7.0 are affected, but only when the platform's default Content Security Policy has been modified or disabled. No public exploit identified at time of analysis and no CISA KEV listing; real-world risk is bounded by both the CSP prerequisite and the requirement for moderator interaction.
RemediationAI
Upgrade Discourse to the patched release applicable to the deployed branch: 2026.1.6, 2026.5.2, 2026.6.1, or 2026.7.0. Vendor-released patches are confirmed via the GitHub Security Advisory at https://github.com/discourse/discourse/security/advisories/GHSA-pq6q-p5g3-rj54. As an effective interim compensating control, audit and restore Discourse's default Content Security Policy if it has been modified or disabled - the vulnerability's execution is gated on a weakened CSP, so reinstating the default policy blocks exploitation without requiring an immediate upgrade. Note that restoring a previously modified CSP may break site customizations relying on additional allowed script sources; operators should inventory those customizations and re-implement them in a CSP-compatible way (e.g., using nonces or hashes) rather than broadening or disabling the policy.
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
Discourse is an open-source Rails/Ember.js community discussion platform identified by CPE cpe:2.3:a:discourse:discourse. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a stored - or second-order - XSS: user-submitted content placed into the moderation review queue is not adequately sanitized before rendering to moderators, so a malicious payload persists server-side and fires when a privileged user loads the queue. Discourse ships with a default Content Security Policy specifically to mitigate XSS classes; this vulnerability exploits the gap left when that policy is weakened or removed by operators. The attack surface is the moderator review interface, meaning exploitation requires the attacker to first trigger a content review (e.g., a flag or post-approval workflow).
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:N/PR:L/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Low-privileged account required (PR:L); moderator must actively view queue (UI:R); XSS fires in moderator session representing a scope change from submitter to privileged user (S:C).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Discourse is an open-source discussion platform. Prior to 026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0, a low-privileged user could place crafted content in the moderation review queue that executed stored cross-site scripting when a moderator viewed it on a site with a modified or disabled default Content Security Policy. This issue is fixed in versions 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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-55666
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB