Vulnerability from bitnami_vulndb
Published
2026-03-27 07:10
Modified
2026-03-27 07:40
Summary
Discourse fixes loose hostname matching in spam host allowlist
Details
Discourse is an open-source discussion platform. Prior to versions 2026.3.0, 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, 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.
{
"affected": [
{
"package": {
"ecosystem": "Bitnami",
"name": "discourse",
"purl": "pkg:bitnami/discourse"
},
"ranges": [
{
"events": [
{
"introduced": "2026.1.0"
},
{
"fixed": "2026.1.2"
},
{
"introduced": "2026.2.0"
},
{
"fixed": "2026.2.1"
},
{
"introduced": "2026.3.0"
},
{
"fixed": "2026.3.0"
}
],
"type": "SEMVER"
}
],
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N",
"type": "CVSS_V3"
}
]
}
],
"aliases": [
"CVE-2026-33393"
],
"database_specific": {
"cpes": [
"cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*"
],
"severity": "Medium"
},
"details": "Discourse is an open-source discussion platform. Prior to versions 2026.3.0, 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, 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.",
"id": "BIT-discourse-2026-33393",
"modified": "2026-03-27T07:40:55.991Z",
"published": "2026-03-27T07:10:50.748Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/discourse/discourse/commit/80b19c15fe9c7bc890d1a54f454c8446312ac6d2"
},
{
"type": "WEB",
"url": "https://github.com/discourse/discourse/commit/d8467b9fbb3d9ed6047b4e508d3fef88a37b8a02"
},
{
"type": "WEB",
"url": "https://github.com/discourse/discourse/commit/f99099cfbc6b76fe39d6fa2daa48efd69497fb8e"
},
{
"type": "WEB",
"url": "https://github.com/discourse/discourse/security/advisories/GHSA-95r5-p6qr-hgw6"
},
{
"type": "WEB",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-33393"
}
],
"schema_version": "1.6.2",
"summary": "Discourse fixes loose hostname matching in spam host allowlist"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…