DiscourseApplication

CVE-2026-45085

MEDIUM · 5.3 CVSS v3.1 Published 2026-06-12
Fix available
A fix is available. Upgrade to 2026.1.0 / 2026.1.4 or later.
See remediation →
62/100
Remediation priority · Elevated
Remotely reachable No privileges Zero-click

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
Discourse is an open-source discussion platform. From versions 2026.1.0-latest to before 2026.1.4, 2026.3.0-latest to before 2026.3.1, and 2026.4.0-latest to before 2026.4.1, four authorization/disclosure issues in the chat plugin (one also involving discourse-calendar): read-only category users could create chat threads, self-deleted chat messages could be restored by their author after channel access was revoked, moderators reviewing a flagged chat message were shown the channel's current last_message (often unrelated DM content), and calendar event payloads exposed the attached chat channel and its last message to viewers without chat access (including anonymous users). This affects sites with the chat plugin enabled; the calendar issue additionally requires discourse-calendar. This issue has been patched in versions 2026.1.4, 2026.3.1, 2026.4.1, and 2026.5.0-latest.1.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

Four authorization and information disclosure vulnerabilities existed in Discourse's chat plugin. First, users with read-only category access could create chat threads (authorization bypass). Second, users could restore their self-deleted chat messages even after channel access was revoked (access control failure). Third, moderators viewing flagged chat messages were shown the channel's current last_message, often exposing unrelated DM content to unintended viewers (information disclosure). Fourth, calendar event payloads exposed attached chat channel details and last messages to viewers lacking chat access, including anonymous users (data leakage). All issues required the chat plugin to be enabled; the calendar issue additionally required discourse-calendar.

MitigationUpgrade Discourse to version 2026.1.4, 2026.3.1, 2026.4.1, or 2026.5.0-latest.1 or later. Sites with chat and/or discourse-calendar enabled should verify that unauthorized users cannot create threads, restore deleted messages in revoked channels, or view unrelated chat content.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.

NVD · CPE data
DiscourseApplication
Affected:< 2026.1.0>= 2026.1.0, < 2026.1.4>= 2026.3.0, < 2026.3.1>= 2026.4.0, < 2026.4.1= 2026.5.0

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Identify Discourse version
    Run `discourse version` or check the /admin dashboard About page
    Affected if Version is < 2026.1.0, between 2026.1.0-2026.1.3, between 2026.3.0-2026.3.0, between 2026.4.0-2026.4.0, or exactly 2026.5.0
  2. Verify chat plugin is enabled
    Navigate to /admin/plugins or run `discourse plugins list` to check if chat plugin is active
    Affected if Chat plugin is enabled and version is in an affected range from step 1
  3. Verify discourse-calendar plugin is enabled
    Navigate to /admin/plugins or run `discourse plugins list` to check if discourse-calendar plugin is active
    Affected if discourse-calendar is enabled, chat is enabled, and version is in an affected range - this combination exposes the calendar data leakage issue
  4. Audit category permissions related to chat
    Review /admin/categories permissions to identify categories where users have read-only access but chat creation may be allowed
    Affected if Read-only users in categories with chat enabled can create chat threads (requires chat plugin enabled and affected version)
  5. Inspect chat channel access revocation behavior
    Test or review chat channel access control: revoke a user's channel access, then verify they cannot restore previously self-deleted messages in that channel
    Affected if Users can restore self-deleted messages in channels where their access has been revoked (requires chat plugin enabled and affected version)

Environment is affected if running an affected Discourse version with the chat plugin enabled; the calendar data leakage specifically also requires discourse-calendar to be enabled.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Upgrade available Upgrade to 2026.1.0 / 2026.1.4 / 2026.3.1 or later
Fixed in 2026.1.02026.1.42026.3.1
Interim mitigation

Upgrade Discourse to version 2026.1.4, 2026.3.1, 2026.4.1, or 2026.5.0-latest.1 or later. Sites with chat and/or discourse-calendar enabled should verify that unauthorized users cannot create threads, restore deleted messages in revoked channels, or view unrelated chat content.

Recommended fix High confidence

Upgrade to Discourse 2026.5.0-latest.1 (or minimum 2026.4.1)

  1. Identify the current Discourse version by checking the admin dashboard or running `cd /var/discourse && git pull` and checking the version
  2. Backup the Discourse installation and database before upgrading
  3. Run the standard Discourse upgrade command: `cd /var/discourse && ./launcher rebuild app`
  4. After upgrade, verify the chat plugin and calendar plugin are functioning correctly
  5. Review the chat permissions in admin settings to ensure read-only category users can no longer create threads
  6. Test that self-deleted chat messages cannot be restored after channel access revocation
  7. Verify that moderators reviewing flagged messages see only relevant content

Generated from the published advisory — verify against the referenced sources before acting.

Fix this in Discourse Scoped from the published advisory
  • Consultation2.0 h
  • Implementation3.0 h
  • Testing4.0 h
  • Review / QA2.0 h
11.0 hours of engineering $1,900
Get the upgrade done

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,040.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2026-45085 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2026-45085 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data