Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
discourse discourse
< 2026.1.6affected>= 2026.5.0-latest, < 2026.5.2affected>= 2026.6.0-latest, < 2026.6.1affected>= 2026.7.0-latest, < 2026.7.0affected
References
- https://github.com/discourse/discourse/security/advisories/GHSA-8g98-fvfc-9w48 ↗
- https://github.com/discourse/discourse/pull/42091 ↗
- https://github.com/discourse/discourse/pull/42092 ↗
- https://github.com/discourse/discourse/pull/42093 ↗
- https://github.com/discourse/discourse/pull/42094 ↗
- https://github.com/discourse/discourse/commit/1276d7032af8803956c74ae87ccfd976938dcd75 ↗
- https://github.com/discourse/discourse/commit/45ab6d54076de9ca4965888974d4416d5b48e83c ↗
- https://github.com/discourse/discourse/commit/49efe1d7f098f2ce7301908815a211cc9248270f ↗
- https://github.com/discourse/discourse/commit/dc54846f0754799591717b6018343e49524e41ce ↗