Skip to main content

Discourse EUVDEUVD-2026-55667

| CVE-2026-72728 MEDIUM
Improper Input Validation (CWE-20)
2026-08-10 GitHub_M
6.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain authenticated Discourse account
  2. Delivery
    Identify at least one allowlisted Onebox origin (e.g., youtube.com)
  3. Exploit
    Craft URL embedding allowlisted domain as a suffix (youtube.com.attacker.example)
  4. Install
    Submit post triggering Onebox URL fetch
  5. C2
    Attacker-controlled server returns oEmbed response with malicious iframe
  6. Execute
    Broken regex passes iframe source against allowlist
  7. Impact
    Malicious iframe rendered in post for all readers

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires an authenticated Discourse account with sufficient trust level to create posts that trigger Onebox resolution (Trust Level 0 or above by default, though site administrators may restrict this to higher trust levels). The Onebox feature must be active - this is the default state for Discourse installations. The Onebox origin allowlist must contain at least one entry; sites with an empty allowlist have no prefixes susceptible to the boundary bypass. Exploitation is strictly limited to authenticated users - unauthenticated visitors cannot post content and therefore cannot reach this path. The attack surface is scoped to the oEmbed iframe embedding flow within Onebox and does not affect general URL handling across Discourse. Sites that have disabled Onebox entirely or cleared the allowlist are not exploitable.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L, score 6.3) categorizes this as medium severity: network-reachable, low complexity, requiring only an authenticated account, with no user interaction and unchanged scope. No EPSS data was supplied, so exploitation probability cannot be quantified. The vulnerability is absent from the CISA KEV catalog, and no public exploit code has been identified at time of analysis. The real-world exploitability is meaningfully constrained - an attacker must hold a valid authenticated account and the target site's Onebox allowlist must contain at least one entry. These conditions rule out unauthenticated mass scanning and limit opportunistic exploitation. The practical harm is content injection: malicious iframes embedded in posts visible to all subsequent readers, enabling phishing, social engineering, or drive-by malware delivery against forum visitors. The S:U (unchanged scope) metric bounds impact to the Discourse instance itself. The A:L metric in the provided CVSS vector is difficult to substantiate directly from the commit evidence, which describes content injection rather than service disruption - this metric may be conservative. Overall, the vulnerability is a realistic medium-priority issue for any Discourse operator, with remediation requiring only a routine version upgrade.

Exploit ScenarioDerived

An authenticated Discourse user submits a post containing a crafted URL such as https://www.youtube.com.attacker.example/payload, where youtube.com is an entry in the site's Onebox allowlist. Onebox fetches the attacker-controlled page, which returns an oEmbed JSON response embedding an iframe pointing to the malicious origin; the iframe source passes the broken allowlist regex because the prefix https://youtube.com matches without a boundary check. The malicious iframe is then rendered inline in the post, exposing all subsequent visitors to attacker-controlled content such as phishing pages or drive-by malware. No public proof-of-concept exploit has been identified, but the upstream commit diff and regression test cases in the advisory provide sufficient implementation detail to reproduce the bypass independently.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 10, 2026

Onebox allowlist bypass in Discourse (all versions prior to 2026.1.7) enables authenticated forum users to embed malicious iframes and attacker-controlled content in posts by exploiting a regex prefix-matching flaw in the origins_to_regexes method. The core defect - missing URL boundary anchors and an overly permissive wildcard expansion - allows domains like youtube.com.attacker.example to pass validation as the allowlisted youtube.com. No public exploit has been identified at time of analysis and the vulnerability is absent from the CISA KEV catalog; vendor-released patches exist as versions 2026.1.7, 2026.6.2, 2026.7.1, and 2026.8.0-latest.1.

RemediationAI

Upgrade Discourse to version 2026.1.7, 2026.6.2, 2026.7.1, or 2026.8.0-latest.1 as confirmed by the GitHub Security Advisory (https://github.com/discourse/discourse/security/advisories/GHSA-qp9j-3v7r-wrvr) and the upstream fix commit (https://github.com/discourse/discourse/commit/92eec47e8b477cb8b4ccdb237e26dc1ba8f8b76b). For sites unable to upgrade immediately, removing all entries from the Onebox origin allowlist eliminates the bypass surface entirely, though it also disables all legitimate iframe embeds (YouTube, Vimeo, etc.) - operators should weigh this functionality trade-off carefully. A narrower compensating control is to restrict post creation or Onebox triggering to higher trust levels, reducing the pool of users who can submit URLs for resolution; this preserves embed functionality for trusted users while limiting exposure from lower-trust accounts.

Affected VersionsENISA

discourse < 2026.1.7
discourse 2026.7.0-latest, < 2026.7.1
discourse 2026.8.0-latest, < 2026.8.0-latest.1
discourse 2026.6.0-latest, < 2026.6.2

Affected Packages

euvd discourse fix: 2026.1.7
euvd discourse_2026_6_0_latest fix: 2026.6.2
euvd discourse_2026_7_0_latest fix: 2026.7.1
euvd discourse_2026_8_0_latest fix: 2026.8.0-latest.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Discourse's Onebox feature resolves URLs in posts to rich previews and oEmbed iframes using a configurable origin allowlist. The vulnerability resides in lib/onebox/engine.rb within the origins_to_regexes method, which converts allowlisted origin strings into Ruby regular expressions. Two compounding flaws existed: (1) the wildcard character * was expanded to \S*, which matches any non-whitespace character including ? and # - permitting attackers to use query or fragment components to inject a matching domain suffix (e.g., attacker.example?.kaltura.com/); and (2) the resulting regex used only a prefix anchor (\A) with no URL boundary requirement, so an allowlisted origin https://youtube.com positively matched https://youtube.com.attacker.example. The fix changes the wildcard expansion to [^/?#]* (restricting to a single URL authority segment) and appends a boundary group (?::\d+(?:[/?#]|\z)|[/?#]|\z) to host-only origins. CWE-20 (Improper Input Validation) is the root cause class - oEmbed iframe source URLs were matched against the allowlist without enforcing URL structural boundaries, allowing a class of URL authority confusion attacks.

Know when Discourse gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
vuln.today AI 5.4 MEDIUM

Network-reachable via authenticated users (PR:L, AV:N); content injection yields limited confidentiality and integrity impact; no availability impact is substantiated by the iframe injection mechanism described.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

Lifecycle Timeline

1
Patch available
Aug 10, 2026 - 17:03 EUVD

DescriptionCVE.org

Discourse is an open-source discussion platform. Prior to 2026.1.7, an authenticated user could submit specially formed URLs that bypassed the Onebox allowlist and embedded malicious content in a site. This issue is fixed in versions 2026.1.7, 2026.6.2, 2026.7.1, and 2026.8.0-latest.1.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
widely-used open-source forum platform with large self-hosted and SaaS footprint
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2025-48954 HIGH POC
8.1 Jun 25

Discourse versions prior to 3.5.0.beta6 contain a reflected cross-site scripting (XSS) vulnerability in social login fun

CVE-2022-46162 CRITICAL POC
9.8 Nov 30

discourse-bbcode is the official BBCode plugin for Discourse. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2026-27934 HIGH POC
8.7 Mar 19

Unauthorized information disclosure in Discourse discussion platform versions prior to 2026.3.0-latest.1, 2026.2.1, and

CVE-2024-47773 HIGH POC
8.2 Oct 08

Discourse is an open source platform for community discussion. Rated high severity (CVSS 8.2), this vulnerability is rem

CVE-2026-26265 HIGH POC
7.5 Feb 26

Discourse versions prior to 2025.12.2, 2026.1.1, and 2026.2.0 contain an insecure direct object reference (IDOR) in the

CVE-2021-3138 HIGH POC
7.5 Jan 14

In Discourse 2.7.0 through beta1, a rate-limit bypass leads to a bypass of the 2FA requirement for certain forms. Rated

CVE-2026-26077 MEDIUM POC
6.5 Feb 26

Unauthenticated attackers can submit forged webhook payloads to multiple email provider integrations in Discourse versio

CVE-2023-38706 MEDIUM POC
6.5 Sep 15

Discourse is an open-source discussion platform. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploi

CVE-2024-53991 MEDIUM POC
5.9 Dec 19

Discourse is an open source platform for community discussion. Rated medium severity (CVSS 5.9), this vulnerability is r

CVE-2025-48877 CRITICAL
9.8 Jun 09

Discourse versions prior to 3.4.4 (stable), 3.5.0.beta5 (beta), and 3.5.0.beta6-dev (tests-passed) contain a critical vu

CVE-2023-47121 CRITICAL
9.8 Nov 10

Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2022-39355 CRITICAL
9.8 Oct 26

Discourse Patreon enables syncronization between Discourse Groups and Patreon rewards. Rated critical severity (CVSS 9.8

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy