CVE-2026-72720 Discourse: HTML injection in PrettyText.format_for_email from cooked-attribute reparsing
Attackers can inject HTML into email previews via crafted attributes, potentially leading to script execution or account takeover in Discourse forums.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-72720?
CVE-2026-72720 is a medium-severity cross-site scripting vulnerability in discourse, published on 10 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Discourse is an open-source discussion platform. Prior to 2026.1.7, 2026.6.2, 2026.7.1, and 2026.8.0-latest.1, Discourse has HTML injection in PrettyText.format_for_email because cooked attribute values are reparsed as markup. Crafted Vimeo iframe sources, secure-upload URLs or dimensions, and hashtag data-slug values can cause decoded attribute text to be reinterpreted as HTML. The vulnerable conversion also fails to strictly validate the Vimeo iframe host and path, allowing non-Vimeo allowlisted iframes to be converted. This issue is fixed in versions 2026.1.7, 2026.6.2, 2026.7.1, and 2026.8.0-latest.1.
Weakness: CWE-79
Which versions are affected by CVE-2026-72720?
1 open source package ship an affected version, including discourse.
| Package | Affected | Fixed in |
|---|---|---|
discourse Bitnami | All versions | 2026.1.7, 2026.6.2, 2026.7.1 |
How do I fix CVE-2026-72720?
Upgrade discourse to a fixed version for your release line: 2026.1.7, 2026.6.2 or 2026.7.1.
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-72720 being exploited?
There is no known exploitation of CVE-2026-72720 in the wild and no public exploit code.
Sources
Also known as BIT-discourse-2026-72720, GHSA-3q6f-6gm9-m35v.