CVE-2026-91132

Discourse: Wildcard iframe origin allowlist bypass via authority separators

Published Sep 24, 2026 CVSS 3.1 · 4.3 Medium EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

The flaw allows an attacker to bypass the Discourse allowed_iframes origin check by placing the allowlisted domain suffix after a URL authority separator. The server incorrectly validates the domain, permitting the crafted URL to pass while the browser sees a different origin. This results in an attacker‑controlled iframe being rendered on a site that otherwise protects against foreign content. An adversary can use the iframe to phish, steal credentials, or execute malicious scripts within the context of the site.

Affected Systems

Affected systems are Discourse installations running any version prior to 2026.1.8, 2026.6.3, 2026.7.2, or 2026.8.0. The vulnerability arises only when site administrators configure the allowed_iframes setting to include a wildcard pattern. The flaw was fixed in the mentioned releases by correcting the origin validation logic.

Risk and Exploitability

The CVSS score of 4.3 indicates moderate risk, and the EPSS score is unavailable, suggesting limited data on exploitation frequency. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires that the attacker can create a post or trigger an oEmbed request for a URL under their control, and that the target site has a wildcard allowlist enabled. Once exploited, the attacker gains the ability to inject arbitrary iframe content as if it originated from a trusted domain, potentially compromising user trust and data.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Discourse to version 2026.1.8 or later, which includes the fixed origin validation logic.
  • Remove any wildcard entries from the allowed_iframes configuration or replace them with explicit, trusted domains.
  • Restrict posting privileges to trusted users to limit the ability of attackers to inject malicious iframe content.

Generated by OpenCVE AI on September 25, 2026 at 05:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Discourse
Discourse discourse
Vendors & Products Discourse
Discourse discourse
Type Values Removed Values Added
Description 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.
Title Discourse: Wildcard iframe origin allowlist bypass via authority separators
Weaknesses CWE-346
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Sep 29, 2026, 2:57 AM
Reserved
Sep 14, 2026, 7:36 PM
Status
Deferred
Published
Sep 24, 2026, 5:17 PM
Modified
Sep 29, 2026, 3:17 AM