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.
References9
- github.com/discourse/discourse/commit/234ee88a5b9b53bf938c53351…
- github.com/discourse/discourse/commit/4b639a52f47fb3d46093bece9…
- github.com/discourse/discourse/commit/a5d3b112d598242c1d1803d5a…
- github.com/discourse/discourse/commit/b25a074b165253e01fc4c8911…
- github.com/discourse/discourse/pull/42244
- github.com/discourse/discourse/pull/42245
- github.com/discourse/discourse/pull/42246
- github.com/discourse/discourse/pull/42247
- github.com/discourse/discourse/security/advisories/GHSA-3q6f-6g…
Metrics
- CVSS 3.1
-
6.4
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N - EPSS — exploit probability
- 0% percentile: 36 · as of 12 November 2026
- CWE
- CWE-79
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.