Read the docs
TI-2017-14769 Aliases CVE-2017-20290GHSA-9225-76qg-xfwx

Reflected cross-site scripting in Discourse unsubscribe page

Priority LOW 23CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Active
Attack complexity
Low
Attack requirements
None
Impact type
Cross-site scripting
Confidentiality · integrity · availability
None · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-79.

Summary

Discourse from 1.9.0.beta2 before 1.9.0.beta13 contains a reflected cross-site scripting flaw (CWE-79) in the email parameter of the /email/unsubscribed page. Unauthenticated attackers can make the page run JavaScript in a victim's browser when the victim opens a crafted link, because the input is rendered without escaping. The Shadowserver Foundation first observed exploitation on 2023-10-19.

Written with Claude Haiku 5.5 from the sources below · 2026-11-05

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00265 18th percentileScored 2026-11-07
Fix Fixed Discourse (Discourse): 1.9.0.beta13

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
discourseDiscourse1.9.0.beta2 to before 1.9.0.beta131.9.0.beta13Patch availableCNA
  • Discourse Vendordiscourse Affected 1.9.0.beta2 to before 1.9.0.beta13 Fixed in 1.9.0.beta13 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*——discourse
  • cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:* Versions — — ·discourse

Remediation

Upgrade Discourse to 1.9.0.beta13, the fixed version for this flaw.

Written with Claude Haiku 5.5 from the sources below · 2026-11-05

  • Fix · CNA Discourse (Discourse) Fixed in 1.9.0.beta13

Timeline

  1. 2026-10-22 Threatist record created from CVE-2017-20290
  2. 2026-10-22 Alias added: GHSA-9225-76qg-xfwx
  3. 2026-11-05 CISA SSVC decision points changed

References

  • TI-2022-22806 Discourse BBCode plugin vulnerable to arbitrary CSS injection CVSS 3.1CRITICAL 9.8
  • TI-2021-19656 Denial of Service in discourse CVSS 3.1MEDIUM 6.8
  • TI-2024-36150 Potential Backup file leaked via Nginx in Discourse CVSS 3.1HIGH 7.5
  • TI-2021-18002 RCE via malicious SNS subscription payload CVSS 3.1CRITICAL 10.0
  • TI-2026-24651 Discourse: Open redirect via `sso_destination_url` cookie in `enter` CVSS 4.0MEDIUM 5.1
  • TI-2022-18730 Discourse Patreon vulnerable to improper validation of email during Patreon authentication CVSS 3.1CRITICAL 9.8
See all 328 →

Sources