Skip to main content

Discourse Doc Categories EUVDEUVD-2026-102926

| CVE-2026-57447 MEDIUM
Information Exposure (CWE-200)
2026-10-16 GitHub_M
4.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as index-topic editor
  2. Delivery
    Insert links to restricted/PM topic IDs
  3. Exploit
    Trigger index structure refresh
  4. Execution
    Server resolves titles without authorization check
  5. Impact
    Read leaked private topic titles

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 attacker must be a user who already holds edit rights on the Doc Categories index topic within a Discourse instance running the discourse-doc-categories plugin, and must reference target topics (private messages or topics in read-restricted categories) by link/ID inside that index. The flaw triggers on the doc category index structure refresh, which resolves linked titles without enforcing the viewer's authorization. Limiting factors: requires the discourse-doc-categories plugin to be installed and in use (non-default for most Discourse sites); requires the privileged index-edit capability rather than any anonymous access; and the disclosure is confined to topic titles, not post contents, so it cannot be used to read restricted message bodies.

Impact

This is a low-to-moderate priority information-disclosure issue, not an urgent one. The input CVSS (4.3, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) and my independent assessment agree: network-reachable, low complexity, but requiring an authenticated user (PR:L) who already has edit rights on the documentation index topic - a meaningful trust prerequisite that narrows the attacker population to privileged content editors. The impact is limited to leaking topic TITLES of private messages and read-restricted categories; the advisory explicitly states it does NOT establish access to topic contents, so this is C:L with no integrity or availability effect. No EPSS score was supplied in the input, there is no CISA KEV listing, and no public exploit was provided - so exploitation signals are absent rather than alarming. SSVC-style reading: exploitation = none observed, automatable = no (requires a privileged editor and only yields metadata), technical impact = partial. Net: a genuine but minor confidentiality leak best scheduled with routine patching, not an emergency. Note one conflict to verify: CVSS marks AV:N/PR:L implying any low-privileged network user, but the actual precondition is the narrower 'can edit the index topic' capability - verify against Discourse's editor/trust-level configuration.

Exploit ScenarioDerived

A user with permission to edit a Discourse documentation index topic adds links referencing private-message or restricted-category topic IDs/URLs. When the doc category index refreshes, it resolves and renders the real titles of those topics in the sidebar, revealing names the editor is not authorized to see. No public proof-of-concept was provided; exploitation requires only the authenticated edit capability and no victim interaction.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 16, 2026

Topic-title disclosure in the Discourse Doc Categories plugin lets an authenticated user who holds edit rights on a documentation index topic learn the titles of private messages and topics in read-restricted categories that the user is not authorized to view. The index refresh routine resolves linked topic titles without enforcing viewer authorization, so the leaked titles appear in the generated index structure even though the underlying topic contents remain inaccessible. Rated CVSS 4.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) with no public exploit identified at time of analysis and no confirmed active exploitation; the issue is largely confined to non-default Discourse instances that have this plugin installed and actively used, and the fix is a targeted authorization filter in the upstream commit b15d4de02ad29d7c9525346afee51fef4a2c605a.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed. Apply commit b15d4de02ad29d7c9525346afee51fef4a2c605a in the discourse-doc-categories plugin, or install a plugin release that includes it, and redeploy - see the GitHub security advisory GHSA-x63p-48vw-8r64. Because there is no stated tagged version in the available data, administrators should confirm with the plugin maintainers which release bundles the fix rather than assuming a version number. If immediate upgrade is not possible, restrict edit rights on any doc category index topic to a small, trusted set of staff, since the disclosure requires PR:L-level privileges on that topic; this is effective because the flaw only triggers on index refresh, but it can disrupt normal documentation workflows. Alternatively, remove explicit links to private messages and read-restricted categories from the index topic body and re-bake the post, which trades off the convenience of cross-linking restricted content. Disabling or uninstalling the plugin removes the vulnerable code path entirely at the cost of losing the documentation index feature. None of these workarounds address the underlying authorization bug, so patching remains the primary remediation.

Affected VersionsENISA

discourse-doc-categories < b15d4de02ad29d7c9525346afee51fef4a2c605a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Discourse Doc Categories is a plugin that turns Discourse topics into a structured documentation index, and it includes a Ruby service, DocCategories::IndexStructureRefresher (app/services/doc_categories/index_structure_refresher.rb), that rebuilds the sidebar/index structure whenever the index topic is edited. The vulnerable build_sections method loaded linked topics with a plain ::Topic.where(id: topic_ids) lookup and then resolved each entry's title and topic_id directly, with no check against the requesting viewer's permissions. The root cause class is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): an authorization gap in a data-resolution path rather than a memory-safety or injection flaw. The fix adds an includes(:category) eager load and a new sidebar_visible_target_topic guard that returns nil for topics that are private messages, trashed, not visible, or whose category is read-restricted (unless the topic belongs to the index category itself); when the guard returns nil, the generated link retains only its bare URL and title is not resolved into the index structures. Tests added in the commit confirm that links to private categories and private messages now yield nil topic_id. The affected CPE is cpe:2.3:a:discourse:discourse-doc-categories:*:*:*:*:*:*:*:* - effectively all plugin versions predating the fix commit.

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

Vendor (GitHub_M) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

Requires an authenticated index-topic editor (PR:L) reaching the app over the network (AV:N/AC:L); only topic titles leak, so C:L with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

DescriptionCVE.org

Discourse Doc Categories is a plugin for organizing Discourse topics as documentation. Prior to the verified source fix, the doc category index refresh resolves linked titles for private messages or restricted category topics without enforcing the viewer's authorization. A user who can edit the index topic can use this behavior to learn titles that the user is not authorized to view, although the advisory does not establish access to topic contents. This vulnerability is addressed by commit b15d4de02ad29d7c9525346afee51fef4a2c605a.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Low
optional niche documentation plugin for Discourse, not core
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-48954 HIGH POC
8.1 Jun 25

Discourse versions prior to 3.5.0.beta6 contain a reflected cross-site scripting (XSS) vulnerability in social login fun

CVE-2022-46162 CRITICAL POC
9.8 Nov 30

discourse-bbcode is the official BBCode plugin for Discourse. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2026-27934 HIGH POC
8.7 Mar 19

Unauthorized information disclosure in Discourse discussion platform versions prior to 2026.3.0-latest.1, 2026.2.1, and

CVE-2024-47773 HIGH POC
8.2 Oct 08

Discourse is an open source platform for community discussion. Rated high severity (CVSS 8.2), this vulnerability is rem

CVE-2026-26265 HIGH POC
7.5 Feb 26

Discourse versions prior to 2025.12.2, 2026.1.1, and 2026.2.0 contain an insecure direct object reference (IDOR) in the

CVE-2021-3138 HIGH POC
7.5 Jan 14

In Discourse 2.7.0 through beta1, a rate-limit bypass leads to a bypass of the 2FA requirement for certain forms. Rated

CVE-2026-26077 MEDIUM POC
6.5 Feb 26

Unauthenticated attackers can submit forged webhook payloads to multiple email provider integrations in Discourse versio

CVE-2023-38706 MEDIUM POC
6.5 Sep 15

Discourse is an open-source discussion platform. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploi

CVE-2024-53991 MEDIUM POC
5.9 Dec 19

Discourse is an open source platform for community discussion. Rated medium severity (CVSS 5.9), this vulnerability is r

CVE-2025-48877 CRITICAL
9.8 Jun 09

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

CVE-2023-47121 CRITICAL
9.8 Nov 10

Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2022-39355 CRITICAL
9.8 Oct 26

Discourse Patreon enables syncronization between Discourse Groups and Patreon rewards. Rated critical severity (CVSS 9.8

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy