Page MenuHomePhabricator

CVE-2025-53478: Special:Investigate 'IPs and User agents' tab has i18n XSS vectors
Open, MediumPublic1 Estimated Story PointsSecurity

Description

Summary

The CheckUser extension has Special:Investigate which is currently vulnerable to i18n XSS (through checking with the x-xss language). These XSS vectors should be fixed.

Background

  • The x-xss language allows finding messages which are not properly escaped in MediaWiki interfaces
  • The CheckUser extension has Special:Investigate for investigating users to see if they have performed abuse
  • When using the x-xss language on Special:Investigate, there are several popup alerts that indicate the CheckUser is not properly escaping these messages
  • The messages which are vulnerable:
    • checkuser-investigate-compare-table-cell-unregistered
    • rev-deleted-user

Technical notes

To reproduce:

  1. Set $wgUseXssLanguage to be true
  2. Create a user which is then suppressed
  3. Perform a few edits using an IP address (not temporary account)
  4. Load Special:Investigate and enter the IP used to perform steps 2 and 3
  5. Enter a reason and submit the form
  6. Add uselang=x-xss to the end of the URL when on IPs and User agents tab

Screenshots

image.png (148×440 px, 8 KB)

image.png (146×454 px, 7 KB)

image.png (402×1 px, 84 KB)

Acceptance criteria

  • The CheckUser Special:Investigate IPs and User agents tab is no longer vulnerable to i18n XSS

Event Timeline

PreliminaryCheckPager seems to suffer from the same issue. Should we fix it in this ticket?

PreliminaryCheckPager seems to suffer from the same issue. Should we fix it in this ticket?

Yeah. I didn't see that when I was testing it, primarily because that doesn't display IPs and I can't seem to specifically include a hidden user in the current check (so it's much harder or possibly impossible to reproduce without modifying the HTML)

PreliminaryCheckPager seems to suffer from the same issue. Should we fix it in this ticket?

Separate bug would be preferred.

PreliminaryCheckPager seems to suffer from the same issue. Should we fix it in this ticket?

Separate bug would be preferred.

I'll file a separate bug then.

Dreamy_Jazz renamed this task from Special:Investigate has i18n XSS vectors to Special:Investigate 'IPs and User agents' tab has i18n XSS vectors.May 19 2025, 4:26 PM
Dreamy_Jazz updated the task description. (Show Details)
sbassett changed the task status from Open to In Progress.May 19 2025, 4:36 PM
sbassett triaged this task as Medium priority.
sbassett changed Risk Rating from N/A to Medium.

This may be hard to QA on production, so probably best wait until the patches are backported.

mmartorana renamed this task from Special:Investigate 'IPs and User agents' tab has i18n XSS vectors to CVE-2025-53478: Special:Investigate 'IPs and User agents' tab has i18n XSS vectors.Tue, Jul 8, 5:34 PM
mmartorana changed the visibility from "Custom Policy" to "Public (No Login Required)".

Needs to wait for QA