Read the docs
TI-2026-61900 Aliases CVE-2026-91132

Discourse: Wildcard iframe origin allowlist bypass via authority separators

Priority LOW 19CWE-346Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
None · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-346.

Summary

Discourse is an open-source discussion platform. Prior to 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0, sites using wildcard patterns in the allowed_iframes setting could accept a crafted iframe URL whose allowlisted suffix appeared after a URL authority separator. The wildcard origin check matched the allowed domain text, while browser URL parsing selected a different attacker-controlled origin. A user with posting privileges could exploit the flaw through a post or a Onebox oEmbed response and cause an attacker-controlled iframe to be rendered independently of the allowlisted domain. Successful exploitation requires a site-configured wildcard iframe pattern and the ability to create a post or trigger an oEmbed request for an attacker-controlled URL. This issue is fixed in versions 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00136 3rd percentileScored 2026-11-07
Fix Fixed discourse (discourse): 2026.8.0, 2026.7.2, 2026.6.3 +1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
discoursediscoursebefore 2026.8.0; 2026.7.0-latest to before 2026.7.2; 2026.6.0-latest to before 2026.6.3; 2026.1.0-latest to before 2026.1.82026.8.0, 2026.7.2, 2026.6.3, 2026.1.8Patch availableCNA
  • discourse Vendordiscourse Affected before 2026.8.0; 2026.7.0-latest to before 2026.7.2; 2026.6.0-latest to before 2026.6.3; 2026.1.0-latest to before 2026.1.8 Fixed in 2026.8.0, 2026.7.2, 2026.6.3, 2026.1.8 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*——discourse
  • cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:* Versions — — ·discourse

Remediation

  • Fix · CNA discourse (discourse) Fixed in 2026.8.0, 2026.7.2, 2026.6.3, 2026.1.8

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-91132

References

  • TI-2022-22806 Discourse BBCode plugin vulnerable to arbitrary CSS injection CVSS 3.1CRITICAL 9.8
  • TI-2021-19656 Denial of Service in discourse CVSS 3.1MEDIUM 6.8
  • TI-2024-36150 Potential Backup file leaked via Nginx in Discourse CVSS 3.1HIGH 7.5
  • TI-2021-18002 RCE via malicious SNS subscription payload CVSS 3.1CRITICAL 10.0
  • TI-2026-24651 Discourse: Open redirect via `sso_destination_url` cookie in `enter` CVSS 4.0MEDIUM 5.1
  • TI-2022-18730 Discourse Patreon vulnerable to improper validation of email during Patreon authentication CVSS 3.1CRITICAL 9.8
See all 328 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences