🛡️ CVE-2025-53368 — citizen

🟠 CVSS 8.6 — High ⚠️ Exploit Public CWE-79 NVD
8.6
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

starcitizentools/citizen-skin is vulnerable to Stored XSS attack in the legacy search bar through page descriptions

Summary

Page descriptions are inserted into raw HTML without proper sanitization by the Citizen skin when using the old search bar.

Details

The descriptions, which are unsanitized, are inserted as raw HTML:

https://github.com/StarCitizenTools/mediawiki-skins-Citizen/blob/d4dfc3697a82948b3b9c4d44e9a273c79bc86b87/resources/skins.citizen.search/templates/TypeaheadListItem.mustache#L18

PoC

All of the reproduction methods require the command palette to be disabled via $wgCitizenEnableCommandPalette = false;.

Additionally, the action API must be used as the Search Gateway via $wgCitizenSearchGateway = 'mwActionApi';.

TextExtracts as the description source

  • Enable the TextExtracts extension
  • Add $wgCitizenSearchDescriptionSource = 'textextracts'; to your LocalSettings.php
  • Create a page called CitizenXSSTextExtracts and insert <img src="" onerror="alert('citizen search xss')"> into it
  • Open the search modal and search for CitizenXSSTextExtracts

![image](https://github.com/user-attachments/assets/fbc88458-c429-4f08-9376-584b7db93f58)

Description2 as the description source

  • Enable the Description2 extension
  • Add $wgEnableMetaDescriptionFunctions = true; to your LocalSettings.php to enable the {{#description2:}} parser function
  • Add $wgCitizenSearchDescriptionSource = 'pagedescription'; to your LocalSettings.php
  • Create a page called CitizenXSSDescription2 and insert {{#description2:<img src="" onerror="alert('citizen search xss 2')">}} into it
  • Open the search modal and search for CitizenXSSDescription2

![image](https://github.com/user-attachments/assets/24513eba-dbec-4bc6-ac06-6276d509fcab)

Wikibase as the description source

Note that this method is currently untested due to issues I experienced when setting up Wikibase.

  • Enable Wikibase client + repo in your wiki
  • Add $wgCitizenSearchDescriptionSource = 'wikidata'; to your LocalSettings.php
  • Have an item with a description like <img src="" onerror="alert('citizen search xss 3')">
  • Open the search modal and search for the page linked to the item

ShortDescription as the description source

  • Enable the ShortDescription extension
  • Add $wgCitizenSearchDescriptionSource = 'wikidata'; to your LocalSettings.php
  • Create a page called CitizenXSSDescription4 and insert {{SHORTDESC:<img src="" onerror="alert('citizen search xss 4')">}} into it
  • Open the search modal and search for CitizenXSSDescription4

Impact

On all wikis that use the aforementioned settings (command palette disabled or using an old release where the old search bar is still used; using the action API as the search gateway), anybody who can edit pages is able to insert XSS payloads into the DOM for other users who are searching for specific pages.

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality high, integrity low, availability low.

Weakness class

CVE-2025-53368 is classified as CWE-79: Cross-site Scripting (XSS). User-supplied data is written into a page without escaping, so attacker script runs in the browser of anyone who views it.

Affected software

CVE-2025-53368 is recorded against 2 packages.

  • citizen (from 1.9.4 up to 3.4.0)
  • starcitizentools/citizen-skin (from 1.9.4 up to 3.4.0)

Timeline and source

Published on 3 July 2025 and last revised on 17 June 2026. A public exploit is known to exist, which raises the urgency of patching considerably. A vendor advisory or fix has been published. Record sourced from NVD.

References

github.com
github.com
github.com

Details

Severity HIGH
CVSS Score 8.6
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
CWE CWE-79
Public Exploit ⚠️ Yes
Source NVD
Published 2025-07-03
Updated 2026-08-12
Modified 2026-06-17

Affected Packages

Software From version Fixed in
citizen 1.9.4 3.4.0
starcitizentools/citizen-skin 1.9.4 3.4.0

Similar Threats

Exploit Protection

Are you running citizen?

CVE-2025-53368 carries CVSS 8.6 High rating and a public exploit already exists. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.

Check My Site For CVE-2025-53368 →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2025