CVE-2026-91134
CVE-2026-91134 — Discourse: Block post iframes whose encoded userinfo bypasses the allowed_iframes allowlist
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.
Published Updated Sources: cvelistV5, GitHub_M
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the scoring sources call it.
Exploitation
Unreported
no source claims exploitation
EPSS
0%
chance of exploitation in 30 days
CVSS base
5.4
MEDIUM
CISA SSVC assessment
Three decision points CISA publishes for the CVEs it assesses · SSVC 2.0.3. A stakeholder decision, not a severity score.
Exploitation
None
none · proof-of-concept · active
Automatable
No
can an attacker script all four kill-chain steps
Technical impact
Partial
partial · total control of the vulnerable component
Affected scope
The catalog records vendors and products as separate lists, not pairs, so which product belongs to which vendor is not something this page can say.
Vendors (1)
Products (1)
Every base score collected
Sources score independently and disagree; each row says who scored it and under which version.
| Score | Version | Severity | Expl. | Impact | Source |
|---|---|---|---|---|---|
| 5.4 | CVSS 3.1 | MEDIUM | — | — | cvelistV5 |
Weakness & attack patterns
- CWE-20
Attack patterns reported against this CVE. The ATT&CK techniques below are inferred from its weakness class.
- T1562.003Impair Defenses: Impair Command History Logging
- T1574.006Hijack Execution Flow: Dynamic Linker Hijacking
- T1574.007Hijack Execution Flow: Path Interception by PATH Environment Variable
References
6 on the record
- github.com/discourse/discourse/security/advisories/GHSA-54vw-chv3-wjpv
x_refsource_CONFIRM
- github.com/discourse/discourse/pull/42882
x_refsource_MISC
- github.com/discourse/discourse/commit/0a8015e6c7a5079981843721494d30c9a91f5415
x_refsource_MISC
- github.com/discourse/discourse/commit/1304b0c04f87534053b0d574ae5a9b9ba13dd590
x_refsource_MISC
- github.com/discourse/discourse/commit/bac7dd1201911851462483271b4567246fa1309d
x_refsource_MISC
- github.com/discourse/discourse/commit/fed3a58c48412ce7207b72a4629ddbc44482cd64
x_refsource_MISC
Elsewhere on this site
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.