---
id: CVE-2026-72720
title: Discourse is an open-source discussion platform
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 Vi…
severity: medium
cvss: 6.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'
cwe:
  - CWE-79
published: '2026-08-10'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T20:54:37.790'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-72720'
references:
  - url: >-
      https://github.com/discourse/discourse/commit/234ee88a5b9b53bf938c53351eab20130323485f
    label: security-advisories@github.com
  - url: >-
      https://github.com/discourse/discourse/commit/4b639a52f47fb3d46093bece9df147e4e9517a11
    label: security-advisories@github.com
  - url: >-
      https://github.com/discourse/discourse/commit/a5d3b112d598242c1d1803d5a77bf98d5fdabd75
    label: security-advisories@github.com
  - url: >-
      https://github.com/discourse/discourse/commit/b25a074b165253e01fc4c8911b980fc68338ea16
    label: security-advisories@github.com
  - url: 'https://github.com/discourse/discourse/pull/42244'
    label: security-advisories@github.com
  - url: 'https://github.com/discourse/discourse/pull/42245'
    label: security-advisories@github.com
  - url: 'https://github.com/discourse/discourse/pull/42246'
    label: security-advisories@github.com
  - url: 'https://github.com/discourse/discourse/pull/42247'
    label: security-advisories@github.com
  - url: >-
      https://github.com/discourse/discourse/security/advisories/GHSA-3q6f-6gm9-m35v
    label: security-advisories@github.com
tags:
  - nvd
epss: 0.00408
epssPercentile: 0.32213
ingestedAt: '2026-09-08T21:11:12.272Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
