CVE-2026-44785: Discourse AI Explain Feature Authorization Bypass
Discourse, an open-source discussion platform, contains an authorization flaw in its AI-powered "explain" feature. When a user asks the system to explain a reply to a post, the feature only checks whether the user can see the reply itself—not whether they should have access to the parent post being discussed. This oversight allows any authenticated user with access to the AI helper to read hidden or restricted parent posts by simply requesting an explanation of a public reply to them. The vulnerability affects multiple version branches and has been patched.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 4.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
- Weaknesses (CWE)
- CWE-200
- Affected products
- 2 configuration(s)
- Published / Modified
- 2026-06-12 / 2026-06-17
NVD description (verbatim)
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, the AI "explain" helper only checks can_see? on the post being explained, not its reply_to_post, so any authenticated user with access to the AI helper could read the raw contents of a hidden parent post by invoking "Explain" on a reply to it. This issue has been patched in versions 2026.1.4, 2026.3.1, 2026.4.1, and 2026.5.0-latest.1.
1 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability stems from incomplete authorization logic in Discourse's AI explain helper. The feature implements a can_see? check on the post object under explanation but fails to validate permissions against the reply_to_post field. An authenticated attacker can traverse the post hierarchy by invoking the explain action on a child post, bypassing the access control that should prevent reading parent posts marked as hidden, private, or otherwise restricted. This is a classic case of inconsistent authorization policy (CWE-200) where one resource's visibility does not propagate to dependent resources in the access check.
Business impact
Organizations running Discourse as a communication platform face information disclosure risk. If posts are marked hidden or restricted to limit audience visibility—whether for moderation, confidentiality, or workflow reasons—those restrictions can be circumvented by users with AI helper access. This undermines content governance, may expose sensitive discussions or moderation decisions, and could breach confidentiality expectations in community or enterprise deployments. The impact is narrowed to authenticated users, reducing but not eliminating risk in public or semi-public communities.
Affected systems
Discourse versions 2026.1.0 through 2026.1.3, 2026.3.0 through 2026.3.0, and 2026.4.0 through 2026.4.0 are vulnerable. Patched versions are 2026.1.4, 2026.3.1, 2026.4.1, and 2026.5.0-latest.1. Self-hosted and cloud-hosted Discourse instances running unpatched code in these ranges require immediate attention.
Exploitability
Exploitation requires authentication and the presence of an enabled AI helper, making this a low-barrier but not zero-friction attack. An attacker with valid forum credentials can perform the attack without user interaction, network complexity, or special tools—just the ability to submit an explain request. The simplicity of the attack vector and absence of compensating controls in the feature itself make this relatively straightforward to execute once the permission gap is understood. However, the requirement for authentication and the need for a visible reply to a hidden post limit the real-world attack surface in many deployments.
Remediation
Apply patches immediately: upgrade to 2026.1.4, 2026.3.1, 2026.4.1, or 2026.5.0-latest.1 depending on your current version branch. If patching is delayed, consider temporarily disabling the AI explain feature via Discourse admin settings until updates can be deployed. Verify that access control changes propagate to all connected instances and that cache invalidation occurs after upgrade.
Patch guidance
Discourse provides version-specific patches aligned with its release branches. Review your current version in the Discourse admin interface and cross-reference it against the vulnerable ranges. If you are on 2026.1.x, update to 2026.1.4 or later; if on 2026.3.x, update to 2026.3.1 or later; if on 2026.4.x, update to 2026.4.1 or later; if on 2026.5.x or later, ensure you have 2026.5.0-latest.1 or a subsequent release. Consult the Discourse release notes and security advisories for any breaking changes or additional configuration requirements.
Detection guidance
Monitor Discourse logs for repeated explain API calls targeting posts that are not visible to the requesting user. Correlate AI helper activity with subsequent access patterns to hidden content. Review audit trails if available to identify which posts were explained and by whom. Proactively audit user permissions and post visibility settings to identify which content was at risk. If Discourse provides request logging, filter for POST requests to explain endpoints and flag those that succeed on non-visible parent posts.
Why prioritize this
Although the CVSS score is MEDIUM (4.3), the combination of easy exploitability, authentication-only barrier, and the breach of fundamental access control principles warrants prompt patching. The flaw directly violates the principle that hidden content should remain hidden. Most organizations treat unauthorized information disclosure seriously, even at MEDIUM severity, because the business and compliance implications often outweigh the numeric score. Prioritize this for patching within your normal vulnerability management cadence.
Risk score, explained
The CVSS 3.1 score of 4.3 reflects a network-accessible vulnerability requiring valid credentials, with low attack complexity, no user interaction, and limited scope. The impact is confidentiality only (information disclosure), with no direct integrity or availability effects. The score appropriately captures that an authenticated user must invoke the explain feature, but it does not fully account for the ease of discovering and exploiting the flaw once understood or the severity of intentional post-hiding schemes being circumvented.
Frequently asked questions
Can an unauthenticated attacker exploit this?
No. The vulnerability requires valid Discourse credentials. Unauthenticated users cannot invoke the AI explain feature and therefore cannot trigger the flaw.
What types of posts are at risk?
Any post marked as hidden, private, or otherwise access-restricted is at risk if it has a public or semi-public reply. A user who should not be able to read the parent post can request an explanation of the reply and gain access to the parent's content.
Does disabling the AI helper entirely eliminate the risk?
Yes. If your Discourse instance does not use the AI explain feature, this vulnerability does not apply. However, disabling it is a temporary measure; patching is the proper long-term solution.
Will upgrading break existing functionality?
Discourse typically maintains backward compatibility within version branches. Review the release notes for your target version to confirm, but standard patching should not require reconfiguration unless noted in the advisory.
This analysis is based on the CVE record and vendor advisory as of the publication date. No exploit code is provided. Organizations should verify patch availability and compatibility with their specific Discourse deployment before applying updates. Consult Discourse official documentation and security advisories for authoritative guidance. This content is for informational purposes and should not replace your organization's vulnerability management and risk assessment processes. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-44779MEDIUMDiscourse Bot Debug Endpoints Expose Whisper Translation Logs
- CVE-2026-44780MEDIUMDiscourse Email Information Disclosure via Category Moderation Queue
- CVE-2026-44782MEDIUMDiscourse User Name Exposure via GroupPostSerializer Bypass
- CVE-2026-44784MEDIUMDiscourse SMTP Credential Exposure via Group History Logs
- CVE-2026-47263MEDIUMDiscourse Webhook Event Information Disclosure – Medium Severity
- CVE-2026-47264MEDIUMDiscourse Tag Group Name Disclosure Information Leak
- CVE-2026-44786HIGHDiscourse Chat Message Disclosure in MessageBus
- CVE-2026-10254MEDIUMUnauthenticated Information Disclosure in SourceCodester Pet Grooming Software