Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Requires authenticated account (PR:L), network-accessible endpoint with no complexity (AV:N/AC:L), read-only thread content disclosure only (C:L/I:N/A:N), scope unchanged.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
Discourse is an open-source discussion platform. Prior to 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0, plugins/chat/lib/chat/onebox_handler.rb resolves Chat::Thread by route thread_id independently of the route channel_id before checking whether the user can preview the selected chat channel. An authenticated user can pair a public channel ID with a private thread ID in a /onebox.json request and obtain private thread message content. This issue is fixed in versions 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0.
AnalysisAI
Discourse's Chat plugin exposes private thread message content to authenticated users who lack access to the private channel. The onebox handler in plugins/chat/lib/chat/onebox_handler.rb resolves Chat::Thread using the route's thread_id before verifying whether the requesting user can access the associated channel_id, allowing a mismatched public-channel/private-thread pair to be submitted via /onebox.json. This is confirmed fixed in versions 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0; no public exploit or CISA KEV listing has been identified at time of analysis.
Technical ContextAI
Discourse is a Ruby on Rails-based open-source forum platform. The affected component is the Chat plugin's onebox handler (plugins/chat/lib/chat/onebox_handler.rb), which previews linked content including chat threads via the /onebox.json endpoint. The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key): the handler performs a database lookup for Chat::Thread using the attacker-supplied thread_id route parameter independently of the channel_id parameter, and only subsequently checks whether the user can preview the channel identified by channel_id. Because thread resolution and channel authorization are decoupled, an attacker can supply a valid public channel_id (which passes the permission check) alongside an unrelated private thread_id, causing the server to return content from the private thread. The affected CPE is cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:* covering all versions prior to the fix releases.
RemediationAI
Upgrade Discourse to version 2026.1.6, 2026.5.2, 2026.6.1, or 2026.7.0 depending on the branch in use; these are the vendor-confirmed fix releases per the GitHub Security Advisory GHSA-8g98-fvfc-9w48. The upstream fixes are delivered via pull requests #42091, #42092, #42093, and #42094 (https://github.com/discourse/discourse/pull/42091 through /42094). If an immediate upgrade is not feasible, a viable compensating control is to disable the Discourse Chat plugin entirely, which removes the /onebox.json thread-preview attack surface; this trade-off is loss of all chat functionality. There is no known configuration-level workaround that preserves chat while blocking the specific vulnerable code path.
Discourse versions prior to 3.5.0.beta6 contain a reflected cross-site scripting (XSS) vulnerability in social login fun
discourse-bbcode is the official BBCode plugin for Discourse. Rated critical severity (CVSS 9.8), this vulnerability is
Discourse is an open source platform for community discussion. Rated high severity (CVSS 8.2), this vulnerability is rem
In Discourse 2.7.0 through beta1, a rate-limit bypass leads to a bypass of the 2FA requirement for certain forms. Rated
Discourse is an open-source discussion platform. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploi
Discourse is an open source platform for community discussion. Rated medium severity (CVSS 5.9), this vulnerability is r
Discourse versions prior to 3.4.4 (stable), 3.5.0.beta5 (beta), and 3.5.0.beta6-dev (tests-passed) contain a critical vu
Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is
Discourse Patreon enables syncronization between Discourse Groups and Patreon rewards. Rated critical severity (CVSS 9.8
Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is
Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.1), this vulnerability is
Stored cross-site scripting in the Discourse discussion platform allows a low-privileged registered user to set a malici
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-55663