Page MenuHomePhabricator

Special:PendingChanges does not prevent users from filtering on private tags they cannot see
Closed, ResolvedPublic

Description

Summary

Special:PendingChanges allows users to filter for pending changes based on the tag that is applied to the last stable revision. While the filter list appropriately hides private tags the user cannot see, it does not prevent the user from filtering using the tag if they know the name of the tag

Steps to reproduce

  1. Protect a page using FlaggedRevs pending changes
  2. Make some edits to a page, with at least one that has not been accepted and the one before it marked as a stable revision
  3. Add a private tag the user cannot see to the last stable revision (the revision before the one that has not been accepted)
  4. Open Special:PendingChanges
  5. Add the following to the URL as a query parameter tagFilter=mw-private-test (where mw-private-test is a private tag defined on your wiki the current user cannot see)
What happens

The user that cannot see the tag sees the page edited in step 2, which shows the user that the last stable revision had the private tag on (even though they cannot see that tag):

image.png (1,869×1,006 px, 138 KB)

What should have happened

The user sees no rows in the resulting table, as if the tag did not exist

Acceptance criteria

  • Special:PendingChanges is updated to prevent users filtering on tags they cannot see

Event Timeline

Change #1310672 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/extensions/FlaggedRevs@master] PendingChangesPager: Don't allow filtering for tags user cannot see

https://gerrit.wikimedia.org/r/1310672

Change #1310672 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@master] PendingChangesPager: Don't allow filtering for tags user cannot see

https://gerrit.wikimedia.org/r/1310672

This is done, likely doesn't need QA