What’s Vulnerable › Vulnerabilities
CVE-2017-20290: Discourse < 1.9.0.beta13 Reflected XSS via /email/unsubscribed
- Severity: medium (CVSS 6.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-22 · updated 2026-10-22
- Weakness: CWE-79
Description
Discourse 1.9.0.beta2 before 1.9.0.beta13 contains a reflected cross-site scripting vulnerability that allows unauthenticated attackers to inject scripts through the email parameter of /email/unsubscribed. Attackers can craft GET requests with SVG onload payloads, which unsubscribed.html.erb renders unescaped via html_safe, executing JavaScript in victims' browsers. Exploitation evidence was first observed by the Shadowserver Foundation on 2023-10-19.
Affected products
- discourse: from 1.9.0.beta2 before 1.9.0.beta13 — fixed in 1.9.0.beta13
How to fix
Upgrade to a fixed version: discourse 1.9.0.beta13. Check the vendor advisory for mitigations.
References
- https://github.com/discourse/discourse/commit/6e37f09b19
- https://github.com/discourse/discourse/commit/a6f2533d38
- https://github.com/projectdiscovery/nuclei-templates/blob/main/http/vulnerabilities/other/discourse-xss.yaml
- https://www.vulncheck.com/advisories/discourse-1.9.0-beta13-reflected-xss-via-email-unsubscribed
Get alerted when CVE-2017-20290 or the next vulnerability affects your stack