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.
Published: 2026-10-22
Score: 5.1 Medium
EPSS: n/a
KEV: No
Impact: Cross‑Site Scripting via unescaped email parameter
Action: Patch
AI Analysis

Impact

Discourse 1.9.0.beta2 through 1.9.0.beta12 includes a reflected cross‑site scripting flaw that allows any unauthenticated user to inject and execute arbitrary JavaScript when a victim visits /email/unsubscribed. Attackers can craft GET requests containing SVG elements with onload handlers; the application renders the email query parameter with html_safe, causing the payload to be executed in the victim’s browser. The impact is principal code execution in the user’s browser, enabling session hijacking, credential theft, or defacement of the site to the extent client‑side trust.

Affected Systems

This vulnerability affects all Discourse installations running any version prior to 1.9.0.beta13. The issue is present in the main Discourse repository from the first beta release through beta12. Administrators should confirm that their platform is running 1.9.0.beta13 or later. The affected product is the public Forum software named Discourse; any deployment that has not applied the commit changes referenced in the advisory is vulnerable.

Risk and Exploitability

The CVSS base score of 5.1 indicates moderate severity. No EPSS data is currently released, and the vulnerability is not listed in the CISA KEV catalog, hinting at a lower likelihood of mass exploitation. Inferred attack vector is "Network" because a crafted HTTP request can be sent from anywhere on the Internet; authentication is not required. An attacker who succeeds can enforce malicious script execution only within victim browsers visiting the unsubscribed page. The threat is therefore mainly to end‑users who view that page, although the presence of a vulnerable endpoint may degrade overall site trustworthiness.

Generated by OpenCVE AI on October 22, 2026 at 12:54 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Discourse 1.9.0.beta13 or newer to remove the unsafe rendering of the email parameter.
  • If an upgrade cannot be applied immediately, configure a WAF or reverse proxy rule to block crafted GET requests containing <svg> elements or other script payloads targeting /email/unsubscribed.
  • Enable detailed logging for the /email/unsubscribed endpoint and review logs for malformed or suspicious requests, taking further action if necessary.

Generated by OpenCVE AI on October 22, 2026 at 12:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 22 Oct 2026 11:00:00 +0000

Type Values Removed Values Added
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.
Title Discourse < 1.9.0.beta13 Reflected XSS via /email/unsubscribed
First Time appeared Discourse
Discourse discourse
Weaknesses CWE-79
CPEs cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*
Vendors & Products Discourse
Discourse discourse
References
Metrics cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'}

cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N'}


Subscriptions

Discourse Discourse
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-22T10:57:24.711Z

Reserved: 2026-10-14T20:25:25.755Z

Link: CVE-2017-20290

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-22T11:17:03.220

Modified: 2026-10-22T11:17:03.360

Link: CVE-2017-20290

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T13:00:07Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')