CVE-2023-25172 Discourse vulnerable to Cross-site Scripting - user name displayed on post
Attackers can execute scripts via malicious URLs in user names on Discourse sites with disabled or permissive CSP settings.
- 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-2023-25172?
CVE-2023-25172 is a medium-severity cross-site scripting vulnerability in Discourse Discourse, published on 17 Mar 2023. 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. Prior to version 3.0.1 of the `stable` branch and version 3.1.0.beta2 of the `beta` and `tests-passed` branches, a maliciously crafted URL can be included in a user's full name field to to carry out cross-site scripting attacks on sites with a disabled or overly permissive CSP (Content Security Policy). Discourse's default CSP prevents this vulnerability. The vulnerability is patched in version 3.0.1 of the `stable` branch and version 3.1.0.beta2 of the `beta` and `tests-passed` branches. As a workaround, enable and/or restore your site's CSP to the default one provided with Discourse.
Weakness: CWE-79
Which versions are affected by CVE-2023-25172?
1 open source package ship an affected version, including discourse. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
discourse Bitnami | All versions | 3.1.0 |
Products include Discourse Discourse.
How do I fix CVE-2023-25172?
Upgrade discourse to 3.1.0 or later.
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-2023-25172 being exploited?
There is no known exploitation of CVE-2023-25172 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-2023-25172, GHSA-7pm2-prxw-wrvp.