CVE-2026-55424: Discourse Topic Featured Link XSS Vulnerability (Medium)
Discourse forums can be vulnerable to JavaScript injection through topic featured links. If a user with permission to set a featured link on a topic crafts a malicious link, it could execute arbitrary JavaScript in other users' browsers when they view the topic list—but only if the site administrator has modified or disabled Discourse's default Content Security Policy. This is a stored cross-site scripting (XSS) vulnerability that affects multiple Discourse release branches.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.4 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 2 configuration(s)
- Published / Modified
- 2026-07-09 / 2026-07-14
NVD description (verbatim)
Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, a topic "featured link" was not sufficiently normalized and escaped before being rendered in the topic list, allowing a user who can set a featured link to inject JavaScript when default Content Security Policy protections were modified or disabled. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.
9 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-55424 is a stored XSS vulnerability in Discourse prior to versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5. The vulnerability exists because topic featured links are not adequately normalized and HTML-escaped before rendering in the topic list view. An authenticated user with permission to set featured links can inject malicious JavaScript that persists in the database. The attack succeeds when Discourse's default Content Security Policy (CSP) is weakened or removed—a configuration that some administrators adopt to support legacy functionality or third-party integrations. The vulnerability is confined to scenarios where both conditions are met: the attacker has featured-link privileges and CSP protections are non-standard.
Business impact
A successful exploit allows an attacker to steal session cookies, redirect users to phishing sites, deface the forum interface, or capture user input on the topic list page. The impact is amplified in communities where forum reputation or trust is critical to business operations. However, exploitation requires two preconditions: the attacker must be a user with topic-moderation privileges, and the site must have intentionally relaxed its CSP. Organizations running Discourse with default security settings are not at risk from this particular vector.
Affected systems
Discourse versions prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5 are vulnerable. The vulnerability affects all Discourse installations, but only poses a real risk where the default CSP has been modified or disabled. Self-hosted Discourse instances and Discourse-powered forums are equally affected. Hosted Discourse instances managed by Discourse themselves should already run patched versions if their infrastructure is current.
Exploitability
Exploitability is moderate. The attacker requires valid forum credentials and permission to set featured links—typically granted to moderators or topic authors, depending on configuration. No public exploit code is available (KEV status: not listed). The attack requires user interaction: a victim must visit the topic list page where the malicious featured link is displayed. Most importantly, default Discourse installations with standard CSP settings are protected; only sites that have deliberately weakened CSP are at risk. This reduces real-world attack surface significantly.
Remediation
Upgrade to patched versions: 2026.6.0, 2026.5.1, 2026.4.2, or 2026.1.5, depending on your current release branch. If immediate patching is not possible, review and restore Discourse's default Content Security Policy settings if they have been modified. Additionally, audit user roles and featured-link permissions to ensure only trusted moderators retain the ability to set topic featured links.
Patch guidance
Verify your current Discourse version and apply the appropriate patch from the versions listed above. Most administrators should upgrade to the latest stable version (2026.6.0 or later) unless they are on a long-term support track. Test patches in a staging environment first, as featured-link rendering may have subtle CSS or layout changes. Verify that your CSP configuration is restored to defaults after patching.
Detection guidance
Monitor Discourse audit logs for unusual activity by users with featured-link permissions, especially changes to topic featured links containing JavaScript patterns or encoded payloads. Check web application firewall (WAF) logs for requests containing script tags or event handlers in featured-link parameters. Review Discourse's CSP reporting if configured; a non-standard CSP that permits inline scripts will produce fewer CSP violation reports. Endpoint detection and response (EDR) tools should flag unexpected JavaScript execution originating from Discourse topic list pages.
Why prioritize this
This vulnerability merits prompt but not emergency remediation. The CVSS score of 5.4 (Medium) reflects the requirement for authentication and user interaction, plus the dependency on non-default CSP configuration. Organizations with default Discourse settings should prioritize other Medium-risk issues. However, sites that have intentionally modified CSP should patch within 30 days, as insider threats or compromised moderator accounts could easily exploit this. The fact that it is not yet listed in CISA's KEV catalog suggests limited active exploitation in the wild.
Risk score, explained
The CVSS v3.1 score of 5.4 reflects: (1) network-based attack vector (AV:N); (2) low attack complexity (AC:L), as no special conditions are needed once prerequisites are met; (3) low privilege requirement (PR:L), since any authenticated user with topic-link permissions qualifies; (4) required user interaction (UI:R), because victims must visit the topic list; (5) changed scope (S:C), allowing the attack to affect resources beyond the vulnerable component; and (6) low confidentiality and integrity impact (C:L/I:L), as the attack can steal data or modify presentation but cannot cause system unavailability. Availability is unaffected (A:N).
Frequently asked questions
Do I need to patch if I haven't modified Discourse's Content Security Policy?
No. If your Discourse installation uses default CSP settings, you are not vulnerable to this particular XSS vector. However, patching is still recommended as a defense-in-depth measure and to close the attack surface if your CSP configuration changes in the future.
What is a 'featured link' in Discourse, and who can set one?
A featured link is a custom URL displayed prominently at the top of a topic. By default, topic authors and moderators can set featured links. The vulnerability allows these users to inject JavaScript into the link field if CSP is weakened.
How does this differ from other Discourse XSS vulnerabilities?
This vulnerability is stored (persistent) rather than reflected, meaning the malicious payload remains in the database and affects all users viewing the topic. It is also contingent on CSP being modified, making it less critical than XSS flaws that bypass default protections.
Can I mitigate this without patching?
Yes, if absolutely necessary: restore Discourse's default CSP policy (remove any customizations that permit inline scripts), and restrict featured-link permissions to administrators only. However, patching is the proper fix and should be your primary remediation plan.
This analysis is based on the published CVE record and vendor advisories as of the date of publication. Patch versions and affected branches should be verified against the official Discourse security advisory before deploying patches. This intelligence is provided for informational purposes to assist security teams in risk assessment and does not constitute official security advice. Organizations should consult with Discourse support or their security team for deployment-specific guidance. No exploit proof-of-concept code or attack techniques are described herein. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-53962MEDIUMDiscourse SVG XSS Vulnerability – Patch Guidance & Risk Analysis
- CVE-2026-53963HIGHStored XSS in Discourse Second Factor Names Leading to Admin Account Compromise
- CVE-2016-20070MEDIUMPrivilege Escalation & Stored XSS in WordPress Booking Calendar Contact Form 1.0.23
- CVE-2018-25384MEDIUMStored XSS in Wikidforum 2.20 Allows Authenticated Attackers to Inject Malicious Scripts
- CVE-2019-25731MEDIUMStored XSS in Zuz Music 2.1 Contact Form
- CVE-2019-25737MEDIUMStored XSS in Live Chat Unlimited 2.8.3 – Admin Session Compromise
- CVE-2019-25739MEDIUMGigToDo 1.3 Stored XSS Vulnerability in Proposal Descriptions
- CVE-2019-25742MEDIUMStored XSS in Zoner Real Estate WordPress Theme 4.1.1 – Admin Account Compromise Risk