Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege authenticated Discourse account
-
DeliveryEnumerate or guess private AI bot topic ID
-
ExploitSubscribe to MessageBus channel for target topic
-
ExecutionReceive unscoped streaming AI bot reply payload
-
ImpactExfiltrate private conversation content
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The discourse-ai plugin must be installed and enabled on the Discourse instance, and the AI bot feature must be configured for use in private message conversations. A victim user must be actively receiving a streaming AI bot reply at the time of exploitation - stored post content is not exposed through this path, only the live generation stream. The attacker must hold a valid authenticated session on the same Discourse instance (low-privilege account; no administrator or moderator rights are required). The attacker must identify the numeric topic ID of the target private message thread; this is not publicly listed but follows a sequential integer pattern that may be guessable or discoverable through other means. Exploitation is bounded to reading AI bot reply stream content only during active reply generation. Instances without the discourse-ai plugin installed, or where AI bot usage is restricted to public topics only, are not exposed by this vulnerability. |
| Impact | The CVSS 3.1 score of 6.5 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N accurately reflects the risk profile: network-accessible and low complexity, but gated by a requirement for an existing authenticated session, which correctly places this in the medium tier rather than critical. The high confidentiality impact is appropriate because private AI bot conversations can contain sensitive personal queries, business-confidential information, or internal data users presumed was protected. No EPSS data was provided in the source intelligence, so quantitative exploitation probability cannot be assessed; the CVE is not in the CISA KEV catalog and no public exploit code has been identified, making current exploitation status unconfirmed. Practical risk depends entirely on whether the discourse-ai plugin is installed and used for private AI bot messaging - instances where AI bot interactions occur only in public channels face no exposure from this path. Even a mid-sized municipal IT team in kalisz running Discourse with the AI bot plugin for internal community workflows should treat this as an upgrade priority, since private bot threads may carry sensitive internal queries. No contradictions exist between available data sources; the CVSS vector and the described mechanism are internally consistent, and the commit diff confirms the specific missing scoping logic. |
| Exploit ScenarioDerived | An authenticated Discourse member with a low-privilege account subscribes to the MessageBus channel for a private message topic (such as /discourse-ai/ai-bot/topic/{id}) at a moment when another user is engaged in a private AI bot conversation on that topic. Because publish_update calls were not properly scoped to the topic's authorized participants before the fix, the attacker's client receives the streaming partial reply content and final cooked output in real time, exposing the full private conversation without the knowledge of the victim. No public exploit code has been identified, but exploitation requires only a valid session, knowledge of a target topic ID (which follows predictable sequential integer patterns), and the ability to subscribe to MessageBus channels, all of which are accessible to any authenticated Discourse user. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 10, 2026
Private AI bot conversation content leaks to unauthorized authenticated users in Discourse via an improperly scoped MessageBus reply stream in the discourse-ai plugin. Authenticated members of any Discourse instance running the discourse-ai plugin prior to versions 2026.1.6, 2026.5.2, 2026.6.1, or 2026.7.0 can intercept real-time streaming content of private message conversations between other users and the AI bot. No public exploit code has been identified at time of analysis, and the CVE is not listed in the CISA KEV catalog, but the low attack complexity and straightforward exploitation path represent a meaningful confidentiality risk for any deployment actively using AI bot private message features.
RemediationAI
Upgrade Discourse to version 2026.1.6, 2026.5.2, 2026.6.1, or 2026.7.0 depending on the active release branch, as confirmed by the GitHub Security Advisory at https://github.com/discourse/discourse/security/advisories/GHSA-gw88-2jw8-jf2h and implemented across commits 01faa889830f56e02fba2f6c1731811d319c5e81, 1fb2026eb8004dfeb12553014cc534dfd8083fbc, 9247666f8359f3cf214b8aea3d396e8a8237ed38, and b56b98232aa4dad4a30500a65e31db0c9080c8f5. If immediate upgrade is not possible, a targeted compensating control is to disable the AI bot feature within the discourse-ai plugin settings, which eliminates the vulnerable streaming code path at the cost of losing AI bot functionality entirely. A secondary mitigation is to restrict Discourse membership to a fully trusted and vetted user population, reducing the pool of potential eavesdroppers; this does not eliminate the vulnerability but limits realistic exposure surface. No other workarounds that preserve AI bot private messaging while preventing stream leakage are apparent from the available data.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Discourse uses MessageBus, a real-time server-push messaging infrastructure, to stream incremental AI bot replies to browser clients as they are generated token-by-token. The discourse-ai plugin's playground.rb module implements a publish_update method and a publish_final_update method that push reply content over this bus. Before the fix, these methods accepted only a reply post and a raw payload, internally resolving audience by referencing bot_reply_post.topic.allowed_user_ids - but the stream_user_ids and stream_group_ids variables used during live reply generation were uninitialized (nil), causing the audience scoping to be incorrect or absent for streaming events. The fix explicitly resolves reply_post.topic.allowed_users.pluck(:id) and reply_post.topic.allowed_groups.pluck(:id) at the start of the reply_to flow, threads these through every publish_update and publish_final_update call, and adds a guard returning early if both are blank. CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) accurately characterizes the root cause: authorization-scoped data was transmitted over a channel accessible to principals who lacked permission on the underlying private message topic.
Know when Discourse gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Any authenticated low-privilege network user can trigger the leak; only confidentiality is impacted as no data modification or service disruption is possible.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Discourse is an open-source discussion platform. Prior to 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0, an authenticated user could eavesdrop on private AI bot conversations through the AI bot reply stream. The issue is fixed in 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
Unauthorized information disclosure in Discourse discussion platform versions prior to 2026.3.0-latest.1, 2026.2.1, and
Discourse is an open source platform for community discussion. Rated high severity (CVSS 8.2), this vulnerability is rem
Discourse versions prior to 2025.12.2, 2026.1.1, and 2026.2.0 contain an insecure direct object reference (IDOR) in the
In Discourse 2.7.0 through beta1, a rate-limit bypass leads to a bypass of the 2FA requirement for certain forms. Rated
Unauthenticated attackers can submit forged webhook payloads to multiple email provider integrations in Discourse versio
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
EUVD-2026-55665
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB