Description
Discourse is an open-source discussion platform. Prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, the discourse-graphviz plugin contains a stored cross-site scripting (XSS) vulnerability that allows authenticated users to inject malicious JavaScript code through DOT graph definitions. For instances with CSP disabled only. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 contain a patch. As a workaround, disable the graphviz plugin, upgrade to a patched version, or enable a content security policy.
Published: 2026-03-19
Score: 4.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross- Site Scripting
Action: Apply Patch
AI Analysis

Impact

This vulnerability arises from the discourse-graphviz plugin, which allows authenticated users to embed malicious JavaScript in DOT graph definitions that are stored and rendered as SVG. Once an attacker creates a graph containing a javascript: link, the script executes in the browser context of any user who views the graph, enabling theft of session cookies, arbitrary actions, or credential compromise. The weakness maps to CWE-79—stored cross-site scripting.

Affected Systems

Affected installations are those running Discourse with the discourse-graphviz plugin on versions prior to 2026.3.0-latest.1, 2026.2.1, or 2026.1.2. All recent releases include a patch that removes the vulnerability. The product is the open-source Discourse discussion platform.

Risk and Exploitability

The CVSS base score of 4.4 indicates medium risk, while an EPSS score of less than 1 % suggests a low probability of exploitation. The flaw is not listed in the CISA KEV catalog, and exploitation requires a logged-in user to create or modify a graph; additionally, it only manifests when the site’s content security policy is disabled. Thus the threat is moderate but limited by the need for authenticated access and an insecure configuration.

Generated by OpenCVE AI on March 24, 2026 at 21:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Discourse version 2026.3.0-latest.1, 2026.2.1, or 2026.1.2 to apply the patch
  • If upgrading is not immediately possible, disable the discourse-graphviz plugin
  • Enable a content security policy to block execution of inline JavaScript

Generated by OpenCVE AI on March 24, 2026 at 21:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 24 Mar 2026 20:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*
cpe:2.3:a:discourse:discourse:2026.3.0:*:*:*:latest:*:*:*

Fri, 20 Mar 2026 17:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 20 Mar 2026 09:00:00 +0000

Type Values Removed Values Added
First Time appeared Discourse
Discourse discourse
Vendors & Products Discourse
Discourse discourse

Thu, 19 Mar 2026 22:45:00 +0000

Type Values Removed Values Added
Description Discourse is an open-source discussion platform. Prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, the discourse-graphviz plugin contains a stored cross-site scripting (XSS) vulnerability that allows authenticated users to inject malicious JavaScript code through DOT graph definitions. For instances with CSP disabled only. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 contain a patch. As a workaround, disable the graphviz plugin, upgrade to a patched version, or enable a content security policy.
Title Discourse has stored click‑based XSS via Graphviz SVG javascript: links
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N'}


Subscriptions

Discourse Discourse
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-20T16:40:49.907Z

Reserved: 2026-03-19T17:02:34.169Z

Link: CVE-2026-33395

cve-icon Vulnrichment

Updated: 2026-03-20T16:40:45.744Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-19T23:16:44.710

Modified: 2026-03-24T19:46:59.323

Link: CVE-2026-33395

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-25T11:54:25Z

Weaknesses