Skip to content
OpenAdvisories
Medium · 5.4 CVE-2026-91134 EUVD-2026-86298

Discourse: Block post iframes whose encoded userinfo bypasses the allowed_iframes allowlist

Published Sep 24, 2026 · Updated Sep 29, 2026 · Assigned by GitHub_M

Description

Discourse is an open-source discussion platform. Prior to 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0, the Discourse post sanitizer allowed a stored cross-origin iframe to bypass the allowed_iframes prefix policy when the iframe src contained encoded userinfo. The sanitizer validated a decoded form differently from the stored iframe src, allowing the browser to interpret an attacker-controlled host while the allowlist check accepted the encoded URL as an allowed prefix. An authenticated user with posting privileges could persist the iframe in a post and cause attacker-controlled cross-origin content to be rendered. This issue is fixed in versions 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0.

Affected products

VendorProductAffectedFixed
discourse discourse < 2026.8.0, >= 2026.7.0-latest, < 2026.7.2, >= 2026.6.0-latest, < 2026.6.3, >= 2026.1.0-latest, < 2026.1.8 —

References