Skip to main content

Discourse CVE-2026-72730

| EUVDEUVD-2026-55670 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-08-10 GitHub_M
8.7
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
8.7 HIGH
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
vuln.today AI
8.7 HIGH

PR:L for authenticated-only injection; S:C and C:H/I:H reflect victim browser session takeover; A:N as no service disruption results.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

4
Patch available
Aug 10, 2026 - 17:03 EUVD
Source Code Evidence Fetched
Aug 10, 2026 - 16:51 vuln.today
Analysis Generated
Aug 10, 2026 - 16:51 vuln.today
CVE Published
Aug 10, 2026 - 16:17 cve.org
HIGH 8.7

DescriptionCVE.org

Discourse is an open-source discussion platform. Prior to 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0, the Rich Text Editor rendered a chat-transcript username as HTML, allowing stored cross-site scripting. This issue is fixed in versions 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0.

AnalysisAI

Stored cross-site scripting in Discourse's Chat plugin allows an authenticated user to inject arbitrary HTML and JavaScript into any viewer's browser session by embedding a malicious payload in the username field of a chat-transcript quote block. The Rich Text Editor rendered the username attribute via innerHTML without sanitization, meaning any authenticated Discourse member with chat access could craft a quote block that executes attacker-controlled script when a victim - potentially a moderator or administrator - views the transcript. Patch versions 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0 are confirmed released; no public exploit code or active exploitation (CISA KEV) has been identified at time of analysis.

Technical ContextAI

Discourse is an open-source Ruby on Rails discussion platform with a ProseMirror-based Rich Text Editor. The flaw lives in plugins/chat/assets/javascripts/lib/rich-editor-extension.js, where the chat-transcript node renderer constructed DOM content using userElement.innerHTML = '<span ...>${node.attrs.username}</span>', inserting the unsanitized username attribute from a BBCode-style [chat quote] block directly into the DOM as HTML markup. CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS) describes this class precisely: user-supplied data flows into a sink that parses it as HTML rather than text. The fix, confirmed in commit 32920affe4ad97b461ca2ae2f664c5fefc374baf, replaces innerHTML assignment with individual document.createElement calls using textContent, ensuring the username is treated as a plain text node and never parsed by the HTML engine. The CPE cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:* covers all Discourse releases prior to the patched versions.

RemediationAI

Upgrade to one of the patched Discourse releases: 2026.1.6, 2026.5.2, 2026.6.1, or 2026.7.0, as confirmed by the vendor advisory at https://github.com/discourse/discourse/security/advisories/GHSA-wg48-qxjc-f459 and the associated commits (32920affe4ad97b461ca2ae2f664c5fefc374baf, 3fb1e8ead0d4f48d2cf55c8110825c7e8a6a45f5, 7eb35d076ab9b6a612e86182336ce9787ce402ea, 9633b8ecaf5a99f0407f5261b9bd1a05f7dac529). If immediate patching is not possible, administrators can disable the Chat plugin entirely as a compensating control - this eliminates the vulnerable code path but removes all chat functionality from the platform. Restricting chat access to a minimal set of highly trusted users reduces the attacker pool but does not eliminate the vulnerability. There is no configuration toggle that preserves Chat functionality while blocking this specific injection path prior to patching.

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-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-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-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

CVE-2021-41163 CRITICAL
9.8 Oct 20

Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2024-49765 CRITICAL
9.1 Dec 19

Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.1), this vulnerability is

CVE-2026-53963 CRITICAL
9.0 Jul 09

Stored cross-site scripting in the Discourse discussion platform allows a low-privileged registered user to set a malici

Share

CVE-2026-72730 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy