CVE-2026-91121: Discourse: Chat upload filenames rendered as raw HTML in excerpts

Published Sep 24, 2026
·
Updated

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.

Affected Software

1 affected component
Discourse Discourse<2026.1.8, <2026.6.3, <2026.7.2, <2026.8.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Discourse to a version that resolves this vulnerability.

    Fixed in 2026.1.8
  2. Upgrade

    Upgrade Discourse to a version that resolves this vulnerability.

    Fixed in 2026.6.3
  3. Upgrade

    Upgrade Discourse to a version that resolves this vulnerability.

    Fixed in 2026.7.2
  4. Upgrade

    Upgrade Discourse to a version that resolves this vulnerability.

    Fixed in 2026.8.0

Event History

Sep 24, 2026
CVE Published
via MITRE·05:05 PM
Data Sourced
via MITRE·05:05 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·06:19 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

An attacker needs an account or other permission that allows them to upload a file and send chat content. They can use markup in the uploaded file's filename, which is then rendered in chat excerpts.

2

Which parts of a Discourse site can display the injected content?

Affected excerpt renderers include chat channel lists, chat summary emails, pinned message bars, reply previews, and thread previews, as well as other locations that render chat excerpts.

3

Does the default configuration allow JavaScript execution?

JavaScript execution was not demonstrated under the default Content Security Policy settings. Sites that disable or relax the default CSP have increased exposure.

4

Which versions contain the fix?

The issue is fixed in Discourse versions 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203