Quick answers
- Is CVE-2017-20290 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2017-20290 being exploited in the wild.
- How severe is CVE-2017-20290?
- Medium severity, with a CVSS score of 6.1, published 22 October 2026.
- Which products and versions are affected?
- Discourse 1.9.0.beta2 to before 1.9.0.beta13.
- Is there a fix for CVE-2017-20290?
- Yes: fixed in 1.9.0.beta13. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2017-20290 attacked?
- It is attacked over the network.
- Am I affected by CVE-2017-20290?
- Check whether you run Discourse at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- Fixed in: 1.9.0.beta13
Technical details
A reflected XSS vulnerability exists in the /email/unsubscribed endpoint where the email parameter is rendered unescaped via html_safe in the unsubscribed.html.erb template. Unauthenticated attackers can inject SVG onload payloads through crafted GET requests. The vulnerability was fixed by adding validation to raise Discourse::NotFound if the email parameter does not correspond to a valid user.
Affected products
- Discourse Discourse 1.9.0.beta2 to before 1.9.0.beta13
Timeline
- 2026-10-22: disclosed
- 2023-10-19: exploited: Exploitation evidence observed by Shadowserver Foundation