CVE-2026-33393 Discourse fixes loose hostname matching in spam host allowlist

Medium 4.3 Published Updated

Attackers can bypass spam host restrictions by using domains that loosely match allowlisted entries, allowing spam posts from unauthorized sources.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-33393?

CVE-2026-33393 is a medium-severity vulnerability in Discourse Discourse, published on 19 Mar 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official 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.

Weakness: CWE-284

Which versions are affected by CVE-2026-33393?

1 open source package ship an affected version, including discourse. It affects 1 product.

PackageAffectedFixed in
discourse BitnamiFrom 2026.1.02026.1.2, 2026.2.1, 2026.3.0

Products include Discourse Discourse.

How do I fix CVE-2026-33393?

Upgrade discourse to a fixed version for your release line: 2026.1.2, 2026.2.1 or 2026.3.0.

Is CVE-2026-33393 being exploited?

There is no known exploitation of CVE-2026-33393 in the wild and no public exploit code.

All Discourse Discourse vulnerabilities

Sources

Also known as BIT-discourse-2026-33393, GHSA-95r5-p6qr-hgw6.

Is CVE-2026-33393 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free