CVE-2026-45085
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 · uneditedDiscourse 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 confidenceFour 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.
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< 2026.1.0>= 2026.1.0, < 2026.1.4>= 2026.3.0, < 2026.3.1>= 2026.4.0, < 2026.4.1= 2026.5.0CVSS 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 checksWork through these to decide whether this CVE applies to you.
-
Identify Discourse versionRun `discourse version` or check the /admin dashboard About pageAffected 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
-
Verify chat plugin is enabledNavigate to /admin/plugins or run `discourse plugins list` to check if chat plugin is activeAffected if Chat plugin is enabled and version is in an affected range from step 1
-
Verify discourse-calendar plugin is enabledNavigate to /admin/plugins or run `discourse plugins list` to check if discourse-calendar plugin is activeAffected if discourse-calendar is enabled, chat is enabled, and version is in an affected range - this combination exposes the calendar data leakage issue
-
Audit category permissions related to chatReview /admin/categories permissions to identify categories where users have read-only access but chat creation may be allowedAffected if Read-only users in categories with chat enabled can create chat threads (requires chat plugin enabled and affected version)
-
Inspect chat channel access revocation behaviorTest or review chat channel access control: revoke a user's channel access, then verify they cannot restore previously self-deleted messages in that channelAffected 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.
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 · scoped2026.1.02026.1.42026.3.1
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.
Upgrade to Discourse 2026.5.0-latest.1 (or minimum 2026.4.1)
- Identify the current Discourse version by checking the admin dashboard or running `cd /var/discourse && git pull` and checking the version
- Backup the Discourse installation and database before upgrading
- Run the standard Discourse upgrade command: `cd /var/discourse && ./launcher rebuild app`
- After upgrade, verify the chat plugin and calendar plugin are functioning correctly
- Review the chat permissions in admin settings to ensure read-only category users can no longer create threads
- Test that self-deleted chat messages cannot be restored after channel access revocation
- Verify that moderators reviewing flagged messages see only relevant content
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation3.0 h
- Testing4.0 h
- Review / QA2.0 h
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 locallyCheck 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 sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-45085 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
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.
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.
- 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