CVE-2026-33393

Source
https://cve.org/CVERecord?id=CVE-2026-33393
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33393.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-33393
Aliases
Published
2026-03-19T22:04:26Z
Modified
2026-10-21T02:30:41Z
Severity
  • 4.3 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N CVSS Calculator
Summary
Discourse fixes loose hostname matching in spam host allowlist
Details

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.

Database specific
{
    "cna_assigner":  "GitHub_M",
    "cwe_ids":  [
        "CWE-284"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33393.json"
}
References

Affected packages

Git / github.com/discourse/discourse

Affected ranges

Type
GIT
Repo
https://github.com/discourse/discourse
Events
Database specific
Show details
{
    "extracted_events":  [
        {
            "cpe":  "cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*",
            "range":  [
                {
                    "introduced":  "2026.1.0"
                },
                {
                    "fixed":  "2026.1.2"
                }
            ],
            "source":  "CPE_RANGE"
        },
        {
            "cpe":  "cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*",
            "range":  [
                {
                    "introduced":  "2026.2.0"
                },
                {
                    "fixed":  "2026.2.1"
                }
            ],
            "source":  "CPE_RANGE"
        },
        {
            "cpe":  "cpe:2.3:a:discourse:discourse:2026.3.0:*:*:*:latest:*:*:*",
            "range":  [
                {
                    "introduced":  "2026.3.0"
                },
                {
                    "last_affected":  "2026.3.0"
                }
            ],
            "source":  "CPE_STRING"
        },
        {
            "range":  [
                {
                    "fixed":  "80b19c15fe9c7bc890d1a54f454c8446312ac6d2"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "range":  [
                {
                    "fixed":  "d8467b9fbb3d9ed6047b4e508d3fef88a37b8a02"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "range":  [
                {
                    "fixed":  "f99099cfbc6b76fe39d6fa2daa48efd69497fb8e"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        }
    ]
}

Affected versions

2026.*
2026.3.0
= 2026.*
= 2026.3.0-latest
Other
esr
stable
v2026.*
v2026.1.0
v2026.1.0-latest
v2026.1.1
v2026.2.0
v2026.2.0-latest
v2026.3.0-latest

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33393.json"