Discourse fixes loose hostname matching in spam host allowlist
Summary
Discourse fixes loose hostname matching in spam host allowlist
Original description
The description as published by the source.
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.
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Affected packages
References
- advisory github.com
- patch github.com
- patch github.com
- patch github.com
- web nvd.nist.gov