Page MenuHomePhabricator

CVE-2025-53482: IPInfo: Message key XSS through several IPInfo messages in infobox and popup
Closed, ResolvedPublicSecurity

Description

Summary

The IP Info extension has a infobox widget that is currently vulnerable to message key 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 IP Info extension displays an "infobox" or "popup" widget on pages like Special:Contributions or the history page
    • This gives the IP address being used or the IP associated with a temporary account
  • When using the x-xss language on Special:Contributions and the history page, there are several popup alerts that indicate the IP Info is not properly escaping these messages for both the "infobox" and "popup" widgets
  • The messages which are vulnerable:
    • ipinfo-value-ipversion-ipv4
    • ipinfo-value-ipversion-ipv6
    • ipinfo-value-active-blocks
    • ipinfo-value-local-edits
    • ipinfo-value-recent-edits
    • ipinfo-value-deleted-edits
    • checkuser-ipinfo-global-contributions-value

Technical notes

To reproduce:

  1. Set $wgUseXssLanguage to be true
  2. Load Special:Contributions for either a temporary account or IP
  3. Open the infobox
  4. Accept the IPInfo preference (if needed)

Screenshots

image.png (752×2 px, 408 KB)

image.png (358×1 px, 81 KB)

Acceptance criteria

  • The IP Info "infobox" and "popup" components no longer have any messages that are vulnerable to message key XSS

Event Timeline

Dreamy_Jazz renamed this task from IPInfo infobox: Message key XSS through several IPInfo messages to IPInfo: Message key XSS through several IPInfo messages in infobox and popup.May 15 2025, 10:43 AM
Dreamy_Jazz updated the task description. (Show Details)
Dreamy_Jazz updated the task description. (Show Details)

We also need one to CheckUser for checkuser-ipinfo-global-contributions-value. Done below.

And for CheckUser:

+2

It seems the CheckUser issue is only present on master. Would it be acceptable to deploy the fix publicly via gerrit?

The IP Info security patch has been deployed to production by @mszabo, so I think we should be able to make it public and upload to gerrit whenever we want to.

Change #1166901 had a related patch set uploaded (by Dreamy Jazz; author: Máté Szabó):

[mediawiki/extensions/IPInfo@master] SECURITY: Escape messages in IPInfo frontend

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

Change #1166903 had a related patch set uploaded (by Dreamy Jazz; author: Máté Szabó):

[mediawiki/extensions/IPInfo@REL1_44] SECURITY: Escape messages in IPInfo frontend

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

Change #1166905 had a related patch set uploaded (by Dreamy Jazz; author: Máté Szabó):

[mediawiki/extensions/IPInfo@REL1_43] SECURITY: Escape messages in IPInfo frontend

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

Change #1166903 merged by jenkins-bot:

[mediawiki/extensions/IPInfo@REL1_44] SECURITY: Escape messages in IPInfo frontend

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

Change #1166911 had a related patch set uploaded (by Dreamy Jazz; author: Máté Szabó):

[mediawiki/extensions/IPInfo@REL1_42] SECURITY: Escape messages in IPInfo frontend

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

Change #1166912 had a related patch set uploaded (by Dreamy Jazz; author: Máté Szabó):

[mediawiki/extensions/IPInfo@REL1_39] SECURITY: Escape messages in IPInfo frontend

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

Change #1166901 merged by jenkins-bot:

[mediawiki/extensions/IPInfo@master] SECURITY: Escape messages in IPInfo frontend

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

Change #1166911 merged by Dreamy Jazz:

[mediawiki/extensions/IPInfo@REL1_42] SECURITY: Escape messages in IPInfo frontend

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

Change #1166912 merged by jenkins-bot:

[mediawiki/extensions/IPInfo@REL1_39] SECURITY: Escape messages in IPInfo frontend

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

Change #1166905 merged by jenkins-bot:

[mediawiki/extensions/IPInfo@REL1_43] SECURITY: Escape messages in IPInfo frontend

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

mmartorana renamed this task from IPInfo: Message key XSS through several IPInfo messages in infobox and popup to CVE-2025-53482: IPInfo: Message key XSS through several IPInfo messages in infobox and popup.Jul 8 2025, 5:44 PM
mmartorana closed this task as Resolved.
mmartorana changed the visibility from "Custom Policy" to "Public (No Login Required)".

Re-opening so that we can track QA on this.

I think we can skip QA on this given that it's not happened in around a month.