CVE-2025-48954 json
Discourse vulnerable to XSS via user-provided query parameter in oauth failure flow
published 2025-06-25 16 mo ago modified 2026-09-10 1 mo ago also BIT-discourse-2025-48954 , EUVD-2025-28274 , GHSA-26p5-mjjh-wfcf
- cvss
- 8.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 54%
- public exploits
- 0
- none known, plus a Nuclei check
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.
Patch / fix
- bitnami discourse 3.5.0
- discourse discourse 3.5.0.beta6
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 16 mo ago
Exploit prediction
0.74% chance of exploitation in the next 30 days, higher than 54% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- Nuclei template Discourse OAuth Social Login - Cross-site Scripting nuclei detection template
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| OSV | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | discourse | <3.5.0 |
3.5.0 |
Affected products
- discourse discourse
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/discourse/discourse/security/advisories/GHSA-26p5-mjjh-wfcf
vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2025-48954
web
Sources
- CVE List CVE-2025-48954
- NVD CVE-2025-48954
- OSV BIT-discourse-2025-48954
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.