CVE-2026-53963 Discourse: Stored-XSS in 2FA delete confirmation modal

High 7.3 Published Updated

Attackers can execute arbitrary scripts in admin browsers via unescaped 2FA names, potentially leading to account takeover.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-53963?

CVE-2026-53963 is a high-severity cross-site scripting vulnerability in Discourse Discourse, published on 9 Jul 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.

Official 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.

Weakness: CWE-79

Which versions are affected by CVE-2026-53963?

1 open source package ship an affected version, including discourse. It affects 1 product.

PackageAffectedFixed in
discourse BitnamiFrom 2026.1.02026.1.5, 2026.4.2, 2026.5.1

Products include Discourse Discourse.

How do I fix CVE-2026-53963?

Upgrade discourse to a fixed version for your release line: 2026.1.5, 2026.4.2 or 2026.5.1.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2026-53963 being exploited?

There is no known exploitation of CVE-2026-53963 in the wild and no public exploit code.

All Discourse Discourse vulnerabilities

Sources

Also known as BIT-discourse-2026-53963, GHSA-wg5x-7f23-m3r5.

Is CVE-2026-53963 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free