{"id":"BIT-discourse-2026-91132","summary":"Discourse: Wildcard iframe origin allowlist bypass via authority separators","details":"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.","aliases":["CVE-2026-91132","GHSA-4q3q-hph3-3rvp"],"modified":"2026-10-01T10:10:49.310454886Z","published":"2026-10-01T09:29:32.249Z","database_specific":{"severity":"Medium","cpes":["cpe:2.3:a:discourse:discourse:*:*:*:*:stable:*:*:*","cpe:2.3:a:discourse:discourse:*:*:*:*:beta:*:*:*"]},"references":[{"type":"WEB","url":"https://github.com/discourse/discourse/commit/80968704c1acb1d2ea2c6011dbf6c02ff13238e5"},{"type":"WEB","url":"https://github.com/discourse/discourse/commit/d5ae0940707f95da5bc4562f7b544243e3103f8a"},{"type":"WEB","url":"https://github.com/discourse/discourse/commit/d88e02ceb2eede4d8b851d9fe8aef753f3aa40b9"},{"type":"WEB","url":"https://github.com/discourse/discourse/commit/db8064f2a2a2a3feb3308a1c932ac61d950c9e56"},{"type":"WEB","url":"https://github.com/discourse/discourse/pull/42882"},{"type":"WEB","url":"https://github.com/discourse/discourse/security/advisories/GHSA-4q3q-hph3-3rvp"},{"type":"WEB","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-91132"}],"affected":[{"package":{"name":"discourse","ecosystem":"Bitnami","purl":"pkg:bitnami/discourse"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2026.8.0"}]}],"database_specific":{"source":"https://github.com/bitnami/vulndb/tree/main/data/discourse/BIT-discourse-2026-91132.json"},"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"}]}],"schema_version":"1.9.0"}