Page MenuHomePhabricator

Temporary account IP reveal: Users who lack abusefilter-log-detail right get non-functional IP reveal on Special:AbuseLog
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • Be a temporary account viewer, accept the privacy policy in the preferences
  • Visit Special:Abuselog
  • Click any "Show IP" button

What happens?:
The message "unavailable" is shown

What should have happened instead?:
The IP should be revealed

Other information (browser name/version, screenshots, etc.):

T388124 introduced support for IP reveal on Special:AbuseLog.

A temporary account IP viewer on itwiki is reporting that he cannot check IPs of temporary accounts in the abuselog. He can see the "show IP" button, but instead the checkuser-tempaccount-reveal-ip-missing message appears ("unavailable").

This happens for every AbuseFilter hit. However, for the very same temporary accounts, the IPs can be successfully revealed on Special:Contribs.

This may be the same issue already mentioned by @Johannnes89 here.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Dreamy_Jazz subscribed.

Hi. I can't seem to reproduce the issue. When I use "Show IP" on a temporary account at https://it.wikipedia.org/w/index.php?title=Speciale:RegistroAbusi I get to see the IP address.

I think this may be because I have the right to inspect AbuseFilter logs (the abusefilter-log-detail right). I'm guessing that the temporary account IP viewer in question does not have access to view the details of AbuseFilter log entries?

The code we have to enable IP reveal on Special:AbuseLog will return nothing if the user does not have the right to inspect details about AbuseFilter logs. It seems that on itwiki only admins and arbcom members have the rights to do this (based on Special:UserGroupRights).


Therefore, I think to solve this task we will need to do some of:

  • Allow IP reveal on Special:AbuseLog if a user lacks abusefilter-log-detail
  • Hide the "Show IP" links if the user lacks access to look at the details of the given AbuseFilter log entry
Dreamy_Jazz renamed this task from "Unavailable" when revealing AbuseLog's IPs to Users who lack access to see details about AbuseFilter log entries still get "Show IP" button in Special:AbuseLog that doesn't work.Sep 24 2025, 9:02 PM
Dreamy_Jazz renamed this task from Users who lack access to see details about AbuseFilter log entries still get "Show IP" button in Special:AbuseLog that doesn't work to AbuseFilter temporary account IP reveal: Users who lack abusefilter-log-detail right get non-functional IP reveal on Special:AbuseLog.
Dreamy_Jazz renamed this task from AbuseFilter temporary account IP reveal: Users who lack abusefilter-log-detail right get non-functional IP reveal on Special:AbuseLog to Temporary account IP reveal: Users who lack abusefilter-log-detail right get non-functional IP reveal on Special:AbuseLog.

It seems that on itwiki only admins and arbcom members have the rights to do this (based on Special:UserGroupRights).

Yes, that's right. AbuseLog is quite barebones for non-admins on itwiki, though it used to show IPs, of course. I just want to emphasize that the user can still reveal IPs of those accounts, he just have to do it under their contribs, so it seems odd to me to just disallow it from there.

Hi. I can't seem to reproduce the issue. When I use "Show IP" on a temporary account at https://it.wikipedia.org/w/index.php?title=Speciale:RegistroAbusi I get to see the IP address.

I think this may be because I have the right to inspect AbuseFilter logs (the abusefilter-log-detail right). I'm guessing that the temporary account IP viewer in question does not have access to view the details of AbuseFilter log entries?

The code we have to enable IP reveal on Special:AbuseLog will return nothing if the user does not have the right to inspect details about AbuseFilter logs. It seems that on itwiki only admins and arbcom members have the rights to do this (based on Special:UserGroupRights).


Therefore, I think to solve this task we will need to do some of:

  • Allow IP reveal on Special:AbuseLog if a user lacks abusefilter-log-detail
  • Hide the "Show IP" links if the user lacks access to look at the details of the given AbuseFilter log entry

The same issue appears with private filters if users don't have the abusefilter-log-private right (T388124#11212752). Even if they can't see log details non-admin patrollers still check abuse logs as an indicator of abuse and should be able to access the IP just like anywhere else.

Tchanders subscribed.

It sounds like what we need is for anyone with IP reveal rights always to be able to see the IP address for an AbuseFilter log whose performer is a temporary account, regardless of other permissions.

We can have an additional check in AbuseFilterLogDetailsLookup::getIPsForAbuseFilterLogs for:

  • whether afl_user is a temporary user and
  • whether the performer can reveal IPs (this will need to be delegated to CheckUserPermissionManager since it's an awkward check, possibly via a hook)

Change #1193154 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/extensions/AbuseFilter@master] WIP Check more generically if a user can view temp account IPs

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

Change #1193385 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/extensions/CheckUser@master] Handle AbuseFilterCanViewTemporaryAccountIPs hook

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

Change #1194233 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/extensions/AbuseFilter@master] Check more generically if a user can view temp account IPs

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

Change #1193154 abandoned by Tchanders:

[mediawiki/extensions/AbuseFilter@master] Check more generically if a user can view temp account IPs

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

Change #1193385 abandoned by Tchanders:

[mediawiki/extensions/CheckUser@master] Handle AbuseFilterCanViewTemporaryAccountIPs hook

Reason:

Going with Ic21c498c015c7cedc91a17d223e73f38e4b31d5f

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

Change #1194233 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@master] Check more generically if a user can view temp account IPs

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

Djackson-ctr subscribed.

New Code Changes have been implemented and verified (Abuse Filter Log will reveal the IP Address when Show IP button is selected).

Change #1197239 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/AbuseFilter@master] Fix test when CheckUser is not loaded

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

Change #1197239 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@master] Fix test when CheckUser is not loaded

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