{"id":"BIT-discourse-2026-33393","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.","aliases":["CVE-2026-33393","GHSA-95r5-p6qr-hgw6"],"modified":"2026-09-08T08:46:30.849261454Z","published":"2026-03-27T07:10:50.748Z","database_specific":{"cpes":["cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*"],"severity":"Medium"},"references":[{"type":"FIX","url":"https://github.com/discourse/discourse/commit/80b19c15fe9c7bc890d1a54f454c8446312ac6d2"},{"type":"FIX","url":"https://github.com/discourse/discourse/commit/d8467b9fbb3d9ed6047b4e508d3fef88a37b8a02"},{"type":"FIX","url":"https://github.com/discourse/discourse/commit/f99099cfbc6b76fe39d6fa2daa48efd69497fb8e"},{"type":"ADVISORY","url":"https://github.com/discourse/discourse/security/advisories/GHSA-95r5-p6qr-hgw6"},{"type":"WEB","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-33393"}],"affected":[{"package":{"name":"discourse","ecosystem":"Bitnami","purl":"pkg:bitnami/discourse"},"ranges":[{"type":"SEMVER","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"}]}],"database_specific":{"source":"https://github.com/bitnami/vulndb/tree/main/data/discourse/BIT-discourse-2026-33393.json"},"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"}]}],"schema_version":"1.9.0"}