{"id":"CVE-2026-53963","aliases":["BIT-discourse-2026-53963","EUVD-2026-42738","GHSA-wg5x-7f23-m3r5"],"status":"published","title":"Discourse: Stored-XSS in 2FA delete confirmation modal","description":"Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, a malicious second factor name on an attacker-controlled account was not escaped in the delete confirmation dialog, allowing stored cross-site scripting when an administrator impersonated that account. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.","severity":{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00735,"percentile":0.54885,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2026-07-09T22:05:46Z","modified":"2026-10-28T02:30:38Z","fixes":[{"ecosystem":"Bitnami","package":"discourse","fixed_in":["2026.1.5","2026.4.2","2026.5.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Bitnami","package":"discourse","ranges":[{"type":"SEMVER","events":[{"introduced":"2026.1.0"},{"fixed":"2026.1.5"},{"introduced":"2026.4.0"},{"fixed":"2026.4.2"},{"introduced":"2026.5.0"},{"fixed":"2026.5.1"}]}]}],"products":[{"vendor":"discourse","product":"discourse"}],"references":[{"url":"https://github.com/discourse/discourse/security/advisories/GHSA-wg5x-7f23-m3r5","tags":["x_refsource_CONFIRM","Mitigation","Vendor Advisory","advisory"]},{"url":"https://github.com/discourse/discourse/commit/40de62cddadc65c328a1028ab999f3fa94adbfed","tags":["x_refsource_MISC","Patch","fix"]},{"url":"https://github.com/discourse/discourse/commit/529e17d4d570a48972e7cf64720e5dd1fdf23ca8","tags":["x_refsource_MISC","Patch","fix"]},{"url":"https://github.com/discourse/discourse/commit/d92973e51a46cf6dd20c71e6068e6769b67eea5b","tags":["x_refsource_MISC","Patch","fix"]},{"url":"https://github.com/discourse/discourse/commit/daea5214d833eacbdd3b1a78d99eb14e9cabd915","tags":["x_refsource_MISC","Patch","fix"]},{"url":"https://github.com/discourse/discourse/releases/tag/v2026.1.5","tags":["x_refsource_MISC","Release Notes","article","web"]},{"url":"https://github.com/discourse/discourse/releases/tag/v2026.4.2","tags":["x_refsource_MISC","Release Notes","article","web"]},{"url":"https://github.com/discourse/discourse/releases/tag/v2026.5.1","tags":["x_refsource_MISC","Release Notes","article","web"]},{"url":"https://github.com/discourse/discourse/releases/tag/v2026.6.0","tags":["x_refsource_MISC","Release Notes","article","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53963","tags":["web","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53963.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-53963","title":"Discourse: Stored-XSS in 2FA delete confirmation modal","description":"Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, a malicious second factor name on an attacker-controlled account was not escaped in the delete confirmation dialog, allowing stored cross-site scripting when an administrator impersonated that account. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.","status":"published","published":"2026-07-09T22:05:46.329Z","modified":"2026-07-14T01:19:05.114Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:19:59.761005Z"}],"euvd":[{"id":"EUVD-2026-42738","description":"Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, a malicious second factor name on an attacker-controlled account was not escaped in the delete confirmation dialog, allowing stored cross-site scripting when an administrator impersonated that account. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.","status":"published","published":"2026-07-09T22:05:46Z","modified":"2026-07-14T01:19:05Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T18:20:00.696533Z"}],"nvd":[{"id":"CVE-2026-53963","description":"Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, a malicious second factor name on an attacker-controlled account was not escaped in the delete confirmation dialog, allowing stored cross-site scripting when an administrator impersonated that account. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.","status":"published","published":"2026-07-09T22:17:05.763Z","modified":"2026-07-14T02:16:55.58Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":9,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"critical","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:28.4135Z"}],"osv":[{"id":"CVE-2026-53963","title":"Discourse: Stored-XSS in 2FA delete confirmation modal","description":"Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, a malicious second factor name on an attacker-controlled account was not escaped in the delete confirmation dialog, allowing stored cross-site scripting when an administrator impersonated that account. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.","status":"published","published":"2026-07-09T22:05:46.329Z","modified":"2026-10-28T02:30:38.641855932Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:45:08.132336Z"},{"id":"BIT-discourse-2026-53963","title":"Discourse: Stored-XSS in 2FA delete confirmation modal","description":"Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, a malicious second factor name on an attacker-controlled account was not escaped in the delete confirmation dialog, allowing stored cross-site scripting when an administrator impersonated that account. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.","status":"published","published":"2026-07-15T15:56:23.554Z","modified":"2026-09-08T08:46:24.789373478Z","updated_at":"2026-11-02T15:28:29.152062Z"}]}}
