Read the docs
TI-2025-31092 Aliases CVE-2025-48954

Discourse vulnerable to XSS via user-provided query parameter in oauth failure flow

Priority LOW 37CWE-79Published · Updated

Key facts

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

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

Summary

Discourse is an open-source discussion platform. Versions prior to 3.5.0.beta6 are vulnerable to cross-site scripting when the content security policy isn't enabled when using social logins. Version 3.5.0.beta6 patches the issue. As a workaround, have the content security policy enabled.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00736 54th percentileScored 2026-11-07
Fix Fixed discourse (discourse): 3.5.0.beta6

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
discoursediscoursebefore 3.5.0.beta63.5.0.beta6Patch availableCNA
  • discourse Vendordiscourse Affected before 3.5.0.beta6 Fixed in 3.5.0.beta6 Patch available CNA

CPE configurations NVD · 6

CPEVersionsRoleVendor
cpe:2.3:a:discourse:discourse:*:*:*:*:beta:*:*:*before 3.5.0Vulnerablediscourse
cpe:2.3:a:discourse:discourse:3.5.0:beta1:*:*:beta:*:*:*3.5.0 beta1Vulnerablediscourse
cpe:2.3:a:discourse:discourse:3.5.0:beta2:*:*:beta:*:*:*3.5.0 beta2Vulnerablediscourse
cpe:2.3:a:discourse:discourse:3.5.0:beta3:*:*:beta:*:*:*3.5.0 beta3Vulnerablediscourse
cpe:2.3:a:discourse:discourse:3.5.0:beta4:*:*:beta:*:*:*3.5.0 beta4Vulnerablediscourse
cpe:2.3:a:discourse:discourse:3.5.0:beta5:*:*:beta:*:*:*3.5.0 beta5Vulnerablediscourse
  • cpe:2.3:a:discourse:discourse:*:*:*:*:beta:*:*:* Versions before 3.5.0 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:3.5.0:beta1:*:*:beta:*:*:* Versions 3.5.0 beta1 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:3.5.0:beta2:*:*:beta:*:*:* Versions 3.5.0 beta2 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:3.5.0:beta3:*:*:beta:*:*:* Versions 3.5.0 beta3 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:3.5.0:beta4:*:*:beta:*:*:* Versions 3.5.0 beta4 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:3.5.0:beta5:*:*:beta:*:*:* Versions 3.5.0 beta5 Vulnerable ·discourse

Remediation

  • Fix · CNA discourse (discourse) Fixed in 3.5.0.beta6

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-48954

References

  • 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-2026-22278 Discourse leaks private topic title and post excerpt via user action API endpoint CVSS 4.0HIGH 8.7
  • TI-2023-24152 Unauthenticated access to new private chat messages in Discourse CVSS 3.1HIGH 7.5
See all 262 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences