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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
discourse discourse
< 2026.1.7affected>= 2026.6.0-latest, < 2026.6.2affected>= 2026.7.0-latest, < 2026.7.1affected>= 2026.8.0-latest, < 2026.8.0-latest.1affected
References
- https://github.com/discourse/discourse/security/advisories/GHSA-3q6f-6gm9-m35v ↗
- https://github.com/discourse/discourse/pull/42244 ↗
- https://github.com/discourse/discourse/pull/42245 ↗
- https://github.com/discourse/discourse/pull/42246 ↗
- https://github.com/discourse/discourse/pull/42247 ↗
- https://github.com/discourse/discourse/commit/234ee88a5b9b53bf938c53351eab20130323485f ↗
- https://github.com/discourse/discourse/commit/4b639a52f47fb3d46093bece9df147e4e9517a11 ↗
- https://github.com/discourse/discourse/commit/a5d3b112d598242c1d1803d5a77bf98d5fdabd75 ↗
- https://github.com/discourse/discourse/commit/b25a074b165253e01fc4c8911b980fc68338ea16 ↗