CVE-2026-72720 json
Discourse: HTML injection in PrettyText.format_for_email from cooked-attribute reparsing
published 2026-08-10 2 mo ago modified 2026-09-08 2 mo ago also BIT-discourse-2026-72720 , EUVD-2026-55656 , GHSA-3q6f-6gm9-m35v
- cvss
- 6.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 35%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- bitnami discourse 2026.1.7, 2026.6.2, 2026.7.1
- discourse discourse 2026.1.7, 2026.6.2, 2026.7.1, 2026.8.0-latest.1
- github.com/discourse/discourse@234ee88 commit
- github.com/discourse/discourse@4b639a5 commit
- github.com/discourse/discourse@a5d3b11 commit
- github.com/discourse/discourse@b25a074 commit
- github.com/discourse/discourse#42244 pull request
- github.com/discourse/discourse#42245 pull request
- github.com/discourse/discourse#42246 pull request
- github.com/discourse/discourse#42247 pull request
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
| OSV | 3.1 | 6.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | discourse | <2026.1.7 >=2026.6.0, <2026.6.2 >=2026.7.0, <2026.7.1 |
2026.1.7 2026.6.2 2026.7.1 |
Affected products
- discourse discourse
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/discourse/discourse/pull/42244
web
-
github.com
/discourse/discourse/pull/42245
web
-
github.com
/discourse/discourse/pull/42246
web
-
github.com
/discourse/discourse/pull/42247
web
-
github.com
/discourse/discourse/commit/234ee88a5b9b53bf938c53351eab20130323485f
web
-
github.com
/discourse/discourse/commit/4b639a52f47fb3d46093bece9df147e4e9517a11
web
-
github.com
/discourse/discourse/commit/a5d3b112d598242c1d1803d5a77bf98d5fdabd75
web
-
github.com
/discourse/discourse/commit/b25a074b165253e01fc4c8911b980fc68338ea16
web
-
github.com
/discourse/discourse/security/advisories/GHSA-3q6f-6gm9-m35v
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-72720
web
Sources
- CVE List CVE-2026-72720
- NVD CVE-2026-72720
- OSV BIT-discourse-2026-72720
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.