Description
Discourse is an open-source discussion platform. Prior to 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0, TopicLink.extract_from, TopicLink.ensure_entry_for, and TopicLink.duplicate_lookup do not consistently enforce Guardian.can_see? checks when processing internal links. An authenticated user can submit links to restricted topics, private messages, or hidden posts and receive canonicalized slugs or titles in the composer_messages duplicate_lookup response even though the targets are not visible to that user. This issue is fixed in versions 2026.1.6, 2026.5.2, 2026.6.1, and 2026.7.0.
References9
- github.com/discourse/discourse/commit/45abd925e46e8be40d2d047bc…
- github.com/discourse/discourse/commit/7d7ce546ac86e24a6512b321a…
- github.com/discourse/discourse/commit/836a251d54a1004fb1c463a7d…
- github.com/discourse/discourse/commit/e54ba27eacee0f14f315e510e…
- github.com/discourse/discourse/pull/42091
- github.com/discourse/discourse/pull/42092
- github.com/discourse/discourse/pull/42093
- github.com/discourse/discourse/pull/42094
- github.com/discourse/discourse/security/advisories/GHSA-4fx9-5m…
Metrics
- CVSS 3.1
-
4.3
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - EPSS — exploit probability
- 0% percentile: 39 · as of 12 November 2026
- CWE
- CWE-862
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.