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. |
| Impact | The CVSS v3.1 score of 5.4 with vector AV:N/AC:L/PR:L/UI:R/S:C reflects a network-accessible vulnerability requiring low attack complexity and user interaction on a browser. The PR:L component indicates that only authenticated users (those with category management roles) can exploit the flaw, limiting the attack surface compared to unauthenticated XSS. The UI:R requirement means successful exploitation depends on social engineering-getting victims to visit the malicious category. However, the CVSS scope (S:C) indicates the impact extends beyond the vulnerable component to the integrity of the entire platform for other users. While the CVSS base score is moderate, the stored nature of this XSS is more severe than reflected in the numeric rating: once injected, the malicious payload persists and affects all users. The presence of vendor-released patches across three version branches indicates swift remediation. Overall risk is elevated for instances with untrusted administrators or compromise of admin credentials, but lower for organizations with strict role-based access controls and rapid patching capabilities. No active exploitation or public POC has been reported, reducing immediate threat pressure. |
| Exploit ScenarioDerived | A malicious user with category moderator or administrator privileges submits a category description update via the Discourse API containing an injected JavaScript payload such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 31, 2026
Stored cross-site scripting (XSS) in Discourse category description API endpoints allows authenticated users with category management privileges to inject malicious scripts that execute in the browsers of other users viewing the category. The vulnerability affects Discourse versions 2026.1.0 through 2026.1.2, 2026.2.0 through 2026.2.1, and 2026.3.0-pre-release due to missing input sanitization on category description updates. Vendor-released patches address this in versions 2026.1.3, 2026.2.2, and 2026.3.0; no public exploit code has been identified at time of analysis.
RemediationAI
Upgrade to patched versions immediately: Discourse 2026.1.3 or later for the 2026.1 branch, 2026.2.2 or later for the 2026.2 branch, or 2026.3.0 or later for the 2026.3 branch. The upstream fix is available in commit 05e3da2a670cfd499649128b6c955b552451240b (https://github.com/discourse/discourse/commit/05e3da2a670cfd499649128b6c955b552451240b), which implements proper input sanitization for category description fields in the API. After patching, audit category descriptions in existing instances to identify and remove any previously injected malicious content. As an interim measure, restrict category management permissions to trusted administrators only and monitor API logs for suspicious category description updates.
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
The vulnerability exists in Discourse's category management API endpoint that handles category description updates. The root cause is classified under CWE-79 (Improper Neutralization of Input During Web Page Generation), a classic stored XSS vector. When a user with category management permissions submits a category description via the API, the input string is not properly sanitized or HTML-escaped before being stored in the database and subsequently rendered in user interfaces. This allows attackers to embed HTML/JavaScript payloads that persist and execute whenever other users access the affected category. The affected product is the Discourse discussion platform (cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*), which is widely deployed as both open-source self-hosted instances and as a SaaS offering.
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
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A: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, updating a category description via API is not sanitizing the description string, which can lead to XSS attacks. 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
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-17550
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB