Vulnerability · Published Sep 24, 2026 · Assigned by GitHub_M
CVE-2026-91134Discourse: Block post iframes whose encoded userinfo bypasses the allowed_iframes allowlist
Medium 5.4
In plain English
A medium-severity improper input validation in discourse from discourse. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 12% of all known vulnerabilities).
Official 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 (as reported)
Weakness: CWE-20 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
References
- https://github.com/discourse/discourse/security/advisories/GHSA-54vw-chv3-wjpv x_refsource_CONFIRM
- https://github.com/discourse/discourse/pull/42882 x_refsource_MISC
- https://github.com/discourse/discourse/commit/0a8015e6c7a5079981843721494d30c9a91f5415 x_refsource_MISC
- https://github.com/discourse/discourse/commit/1304b0c04f87534053b0d574ae5a9b9ba13dd590 x_refsource_MISC
- https://github.com/discourse/discourse/commit/bac7dd1201911851462483271b4567246fa1309d x_refsource_MISC
- https://github.com/discourse/discourse/commit/fed3a58c48412ce7207b72a4629ddbc44482cd64 x_refsource_MISC