CVE-2025-48877 Discourse vulnerable to auto-executing of third-party code in embedded CodePen iframe
Attackers can execute arbitrary JavaScript in the context of embedded CodePen iframes, potentially leading to session hijacking or data theft.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-48877?
CVE-2025-48877 is a high-severity cross-site scripting vulnerability in Discourse Discourse, published on 9 Jun 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Discourse is an open-source discussion platform. Prior to version 3.4.4 of the `stable` branch, version 3.5.0.beta5 of the `beta` branch, and version 3.5.0.beta6-dev of the `tests-passed` branch, Codepen is present in the default `allowed_iframes` site setting, and it can potentially auto-run arbitrary JS in the iframe scope, which is unintended. This issue is patched in version 3.4.4 of the `stable` branch, version 3.5.0.beta5 of the `beta` branch, and version 3.5.0.beta6-dev of the `tests-passed` branch. As a workaround, the Codepen prefix can be removed from a site's `allowed_iframes`.
Weakness: CWE-1038
Which versions are affected by CVE-2025-48877?
1 open source package ship an affected version, including discourse. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
discourse Bitnami | All versions | 3.4.4 |
Products include Discourse Discourse.
How do I fix CVE-2025-48877?
Upgrade discourse to 3.4.4 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-2025-48877 being exploited?
There is no known exploitation of CVE-2025-48877 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-2025-48877, GHSA-cm93-6m2m-cjcv.