{"id":"CVE-2025-48954","aliases":["BIT-discourse-2025-48954","EUVD-2025-28274","GHSA-26p5-mjjh-wfcf"],"status":"published","title":"Discourse vulnerable to XSS via user-provided query parameter in oauth failure flow","description":"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.","severity":{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00736,"percentile":0.54798,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2025-06-25T14:02:46Z","modified":"2026-10-28T02:30:46Z","exploits":[{"source":"nuclei","id":"CVE-2025-48954","title":"Discourse OAuth Social Login - Cross-site Scripting","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-48954.yaml"}],"fixes":[{"ecosystem":"Bitnami","package":"discourse","fixed_in":["3.5.0"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Bitnami","package":"discourse","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.5.0"}]}]}],"products":[{"vendor":"discourse","product":"discourse"}],"references":[{"url":"https://github.com/discourse/discourse/security/advisories/GHSA-26p5-mjjh-wfcf","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-48954","tags":["web","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/48xxx/CVE-2025-48954.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2025-48954","title":"Discourse vulnerable to XSS via user-provided query parameter in oauth failure flow","description":"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.","status":"published","published":"2025-06-25T14:02:46.515Z","modified":"2025-06-25T14:19:13.945Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:32:41.089134Z"}],"euvd":[{"id":"EUVD-2025-28274","description":"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.","status":"published","published":"2025-06-25T14:02:46Z","modified":"2025-06-25T14:19:13Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T20:32:16.964954Z"}],"nvd":[{"id":"CVE-2025-48954","description":"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.","status":"published","published":"2025-06-25T14:15:24.777Z","modified":"2026-06-17T09:30:33.51Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:11:14.091082Z"}],"osv":[{"id":"CVE-2025-48954","title":"Discourse vulnerable to XSS via user-provided query parameter in oauth failure flow","description":"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.","status":"published","published":"2025-06-25T14:02:46.515Z","modified":"2026-10-28T02:30:46.598966904Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:44:50.037003Z"},{"id":"BIT-discourse-2025-48954","title":"Discourse vulnerable to XSS via user-provided query parameter in oauth failure flow","description":"Discourse is an open-source discussion platform. Versions prior to 3.5.0 are vulnerable to cross-site scripting when the content security policy isn't enabled when using social logins. Version 3.5.0 patches the issue. As a workaround, have the content security policy enabled.","status":"published","published":"2025-07-01T17:44:46.702Z","modified":"2026-09-10T16:00:32.907718363Z","updated_at":"2026-11-02T15:28:28.70813Z"}]}}
