CVE-2026-32607 Discourse: Stored XSS via unescaped assignee name
Attackers with assign permissions can inject malicious scripts via unescaped names, executing code in victims' browsers when viewing topics.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-32607?
CVE-2026-32607 is a low-severity cross-site scripting vulnerability in Discourse Discourse, published on 31 Mar 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
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, when the hidden prioritize_full_name_in_ux site setting is enabled (defaults to false, requires console access to change), user and group display names are rendered without HTML escaping in several assignment-related UI paths. This allows users with assign permission to inject arbitrary HTML/JavaScript that executes in the browser of any user viewing an affected topic. This issue has been patched in versions 2026.1.3, 2026.2.2, and 2026.3.0.
Weakness: CWE-79
Which versions are affected by CVE-2026-32607?
1 open source package ship an affected version, including discourse. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
discourse Bitnami | From 2026.1.0 | 2026.1.3, 2026.2.2 |
Products include Discourse Discourse.
How do I fix CVE-2026-32607?
Upgrade discourse to a fixed version for your release line: 2026.1.3 or 2026.2.2.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-32607 being exploited?
There is no known exploitation of CVE-2026-32607 in the wild and no public exploit code.
Other vulnerabilities in Discourse Discourse
- CVE-2021-41163 RCE via malicious SNS subscription payload
- CVE-2022-36066 Discourse vulnerable to RCE via admins uploading maliciously zipped file
- CVE-2022-39356 Discourse user account takeover via email and invite link
- CVE-2023-22468 Discourse vulnerable to Cross-site Scripting in local oneboxes
- CVE-2026-27934 Discourse leaks private topic title and post excerpt via user action API endpoint
Sources
Also known as BIT-discourse-2026-32607, GHSA-xg68-q7ff-6gqm.