Description
Discourse is an open-source discussion platform. Prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, the `allowed_spam_host_domains` check used `String#end_with?` without domain boundary validation, allowing domains like `attacker-example.com` to bypass spam protection when `example.com` was allowlisted. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 require exact match or proper subdomain match (preceded by `.`) to prevent suffix-based bypass of `newuser_spam_host_threshold`. No known workarounds are available.
Published: 2026-03-19
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Spam bypass
Action: Update
AI Analysis

Impact

The vulnerability lies in the spam host allowlist logic of Discourse’s spam protection. Prior to the patched release, the code used a simple string suffix check (String#end_with?) to determine if an email domain matched an allowlisted domain. This allowed attacker‑controlled domains such as attacker-example.com to match an allowlist entry for example.com, bypassing the newuser_spam_host_threshold and enabling the attacker to send spam messages through the platform. The weakness is a sign‑in‑communication boundary flaw (CWE‑284). The direct consequence is that spam filtering is weakened, potentially allowing malicious content to reach users or consuming server resources.

Affected Systems

The issue affects the Discourse open‑source discussion platform. Versions before 2026.3.0-latest.1, before 2026.2.1, and before 2026.1.2 are vulnerable. All installations of these releases are susceptible; upgrading to any of the patched versions removes the flaw.

Risk and Exploitability

The CVSS score of 4.3 suggests a moderate impact, and the EPSS score of less than 1% indicates a low likelihood of exploitation. Discourse has not catalogued this issue in the CISA KEV list, so it is not known to be actively exploited. Exploitation would require an attacker to have influence over the spam domain allowlist or rely on an existing allowlist entry; it is inferred that a remote attacker could use the issued domain to bypass spam checks. Because no active exploitation is documented, administrators should treat the risk as low but mitigate promptly.

Generated by OpenCVE AI on March 24, 2026 at 21:32 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Discourse to a patched version (2026.3.0 or later, 2026.2.1, or 2026.1.2).

Generated by OpenCVE AI on March 24, 2026 at 21:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 24 Mar 2026 20:45:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*
cpe:2.3:a:discourse:discourse:2026.3.0:*:*:*:latest:*:*:*

Fri, 20 Mar 2026 21:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 20 Mar 2026 09:00:00 +0000

Type Values Removed Values Added
First Time appeared Discourse
Discourse discourse
Vendors & Products Discourse
Discourse discourse

Thu, 19 Mar 2026 22:15:00 +0000

Type Values Removed Values Added
Description Discourse is an open-source discussion platform. Prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, the `allowed_spam_host_domains` check used `String#end_with?` without domain boundary validation, allowing domains like `attacker-example.com` to bypass spam protection when `example.com` was allowlisted. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 require exact match or proper subdomain match (preceded by `.`) to prevent suffix-based bypass of `newuser_spam_host_threshold`. No known workarounds are available.
Title Discourse fixes loose hostname matching in spam host allowlist
Weaknesses CWE-284
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'}


Subscriptions

Discourse Discourse
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-20T20:15:16.294Z

Reserved: 2026-03-19T17:02:34.169Z

Link: CVE-2026-33393

cve-icon Vulnrichment

Updated: 2026-03-20T20:15:12.725Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-19T22:16:42.497

Modified: 2026-03-24T20:41:57.427

Link: CVE-2026-33393

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-25T11:54:30Z

Weaknesses