0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-06 03:25:17 +08:00
discourse/app
discoursebot da6a89a985
SECURITY: Enforce first-post visibility for topic bookmarks [backport 2026.7] (#42353)
Backport of #42321 to release/2026.7.

---

## Summary

Topic bookmark creation, listing, search, and reminder eligibility now
require the first post to be visible to the user. The fix adds an inner
join on the first post with hidden-post filtering to the list query and
delegates creation and visibility checks to `guardian.can_see_post?` on
the first post, preventing an authenticated user from bookmarking a
topic or searching its metadata after the first post is hidden.

## Source

- Patch Triage: https://patch.discourse.org/patch-triage/1530

Co-authored-by: discourse-patch-triage
<272280883+discourse-patch-triage[bot]@users.noreply.github.com>

---------

Co-authored-by: Chris Alberti <christo@discourse.org>
2026-08-05 12:53:16 -05:00
..
assets FIX: Chat browse page on mobile [backport 2026.7] (#42148) 2026-07-31 10:26:24 +10:00
controllers SECURITY: Block requests for hidden post revisions through historical version reconstruction [backport 2026.7] (#42270) 2026-08-03 12:27:57 -05:00
helpers SECURITY: Prevent cache poisoning/XSS via color scheme cookies 2026-07-28 16:40:22 +02:00
jobs PERF: Serve the activity_by_category report from daily rollups (#42046) 2026-07-28 12:53:29 +08:00
mailers FEATURE: Log in with a one-time email code (#40804) 2026-06-17 12:34:48 -07:00
models SECURITY: Escape embed URL for HTML attribute context in footer [backport 2026.7] (#42315) 2026-08-04 09:59:47 -05:00
queries/reports DEV: Remove reporting_improvements upcoming change (#41259) 2026-07-01 07:52:02 +08:00
serializers SECURITY: Stop exposing hidden tag names through category serializers 2026-07-28 16:40:22 +02:00
services SECURITY: Enforce first-post visibility for topic bookmarks [backport 2026.7] (#42353) 2026-08-05 12:53:16 -05:00
views PERF: Avoid HTML escaping preloaded JSON (#41978) 2026-07-24 09:25:06 +08:00