{"id":"CVE-2026-72720","aliases":["BIT-discourse-2026-72720","EUVD-2026-55656","GHSA-3q6f-6gm9-m35v"],"status":"published","title":"Discourse: HTML injection in PrettyText.format_for_email from cooked-attribute reparsing","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.","severity":{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00408,"percentile":0.35507,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2026-08-10T15:41:51Z","modified":"2026-10-28T02:30:36Z","fixes":[{"ecosystem":"Bitnami","package":"discourse","fixed_in":["2026.1.7","2026.6.2","2026.7.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Bitnami","package":"discourse","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2026.1.7"},{"introduced":"2026.6.0"},{"fixed":"2026.6.2"},{"introduced":"2026.7.0"},{"fixed":"2026.7.1"}]}]}],"products":[{"vendor":"discourse","product":"discourse"}],"references":[{"url":"https://github.com/discourse/discourse/security/advisories/GHSA-3q6f-6gm9-m35v","tags":["x_refsource_CONFIRM","web","advisory"]},{"url":"https://github.com/discourse/discourse/pull/42244","tags":["x_refsource_MISC","web","fix"]},{"url":"https://github.com/discourse/discourse/pull/42245","tags":["x_refsource_MISC","web","fix"]},{"url":"https://github.com/discourse/discourse/pull/42246","tags":["x_refsource_MISC","web","fix"]},{"url":"https://github.com/discourse/discourse/pull/42247","tags":["x_refsource_MISC","web","fix"]},{"url":"https://github.com/discourse/discourse/commit/234ee88a5b9b53bf938c53351eab20130323485f","tags":["x_refsource_MISC","web","fix"]},{"url":"https://github.com/discourse/discourse/commit/4b639a52f47fb3d46093bece9df147e4e9517a11","tags":["x_refsource_MISC","web","fix"]},{"url":"https://github.com/discourse/discourse/commit/a5d3b112d598242c1d1803d5a77bf98d5fdabd75","tags":["x_refsource_MISC","web","fix"]},{"url":"https://github.com/discourse/discourse/commit/b25a074b165253e01fc4c8911b980fc68338ea16","tags":["x_refsource_MISC","web","fix"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72720","tags":["web","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72720.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-72720","title":"Discourse: HTML injection in PrettyText.format_for_email from cooked-attribute reparsing","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.","status":"published","published":"2026-08-10T15:41:51.764Z","modified":"2026-08-10T18:17:21.64Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:19:51.663093Z"}],"euvd":[{"id":"EUVD-2026-55656","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.","status":"published","published":"2026-08-10T15:41:51Z","modified":"2026-08-10T18:17:21Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T18:02:01.104981Z"}],"nvd":[{"id":"CVE-2026-72720","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.","status":"published","published":"2026-08-10T16:19:49.197Z","modified":"2026-09-08T20:54:37.79Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:36.102748Z"}],"osv":[{"id":"CVE-2026-72720","title":"Discourse: HTML injection in PrettyText.format_for_email from cooked-attribute reparsing","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.","status":"published","published":"2026-08-10T15:41:51.764Z","modified":"2026-10-28T02:30:36.833803486Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:45:15.88521Z"},{"id":"BIT-discourse-2026-72720","title":"Discourse: HTML injection in PrettyText.format_for_email from cooked-attribute reparsing","description":"Discourse is an open-source discussion platform. Prior to 2026.1.7, 2026.6.2, 2026.7.1, and 2026.8.0, 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.","status":"published","published":"2026-08-17T05:44:18.972Z","modified":"2026-08-17T08:10:29.555933473Z","updated_at":"2026-11-02T15:28:29.152062Z"}]}}
