Read the docs
TI-2026-61894 Aliases CVE-2026-91121

Discourse: Chat upload filenames rendered as raw HTML in excerpts

Priority LOW 22CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Cross-site scripting
Confidentiality · integrity · availability
None · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79.

Summary

Discourse is an open-source discussion platform. Prior to 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0, attacker-controlled upload filenames used in chat message excerpts were rendered as unescaped HTML. A user able to upload a file and send chat content could place markup in a filename that was then interpreted by chat channel lists, chat summary emails, pinned message bars, reply previews, thread previews, and other excerpt renderers. The issue allowed trusted-HTML injection that altered rendered excerpt content, but JavaScript execution was not demonstrated with default Content Security Policy settings. The advisory states that no confidentiality, integrity, or availability impact was identified, while its structured scoring metadata separately assigns low integrity impact. Sites that disable or relax the default CSP have increased exposure. This issue is fixed in versions 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00258 17th percentileScored 2026-11-07
Fix Fixed discourse (discourse): 2026.8.0, 2026.7.2, 2026.6.3 +1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
discoursediscoursebefore 2026.8.0; 2026.7.0-latest to before 2026.7.2; 2026.6.0-latest to before 2026.6.3; 2026.1.0-latest to before 2026.1.82026.8.0, 2026.7.2, 2026.6.3, 2026.1.8Patch availableCNA
  • discourse Vendordiscourse Affected before 2026.8.0; 2026.7.0-latest to before 2026.7.2; 2026.6.0-latest to before 2026.6.3; 2026.1.0-latest to before 2026.1.8 Fixed in 2026.8.0, 2026.7.2, 2026.6.3, 2026.1.8 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*——discourse
  • cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:* Versions — — ·discourse

Remediation

  • Fix · CNA discourse (discourse) Fixed in 2026.8.0, 2026.7.2, 2026.6.3, 2026.1.8

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-91121

References

  • TI-2022-22806 Discourse BBCode plugin vulnerable to arbitrary CSS injection CVSS 3.1CRITICAL 9.8
  • TI-2021-19656 Denial of Service in discourse CVSS 3.1MEDIUM 6.8
  • TI-2024-36150 Potential Backup file leaked via Nginx in Discourse CVSS 3.1HIGH 7.5
  • TI-2021-18002 RCE via malicious SNS subscription payload CVSS 3.1CRITICAL 10.0
  • TI-2026-24651 Discourse: Open redirect via `sso_destination_url` cookie in `enter` CVSS 4.0MEDIUM 5.1
  • TI-2022-18730 Discourse Patreon vulnerable to improper validation of email during Patreon authentication CVSS 3.1CRITICAL 9.8
See all 328 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences