Loading...
Skip to main content

CVE-2025-53368 — Vulnerability in starcitizentools/citizen-skin —...

HIGH

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

Published July 3, 2025Updated July 3, 2025Source: osv

Summary

### 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.

Advisory Timeline

  • First published July 3, 2025 (466 days ago).
  • Last revised July 3, 2025 — 0 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Composer
Update starcitizentools/citizen-skin to 3.4.0 or later
composer require "starcitizentools/citizen-skin:^3.4.0"

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: packagist (1).

PackageEcosystemAffectedFixed In
starcitizentools/citizen-skin
packagist
v1.10.0, v1.13.0, v1.14.0, v1.14.1 (+129 more)3.4.0

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-79
    Cross-site Scripting (XSS)MITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.6 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
Low

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

Frequently Asked Questions

What is CVE-2025-53368?
starcitizentools/citizen-skin is vulnerable to Stored XSS attack in the legacy search bar through page descriptions This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.6/10).
How do I check if my project is affected by CVE-2025-53368?
CVE-2025-53368 affects starcitizentools/citizen-skin. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2025-53368 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.6

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-rq6g-6g94-jfr4

Related CVEs

  • CVE-2025-53370
    HIGH

    Citizen vulnerable to Stored XSS through short descriptions

  • CVE-2026-65954
    HIGH

    PHPCSUtils: Remote code execution via eval() in AbstractArrayDeclarationSniff::getActualArrayKey()

  • CVE-2026-61825
    HIGH

    code16/sharp has a stored XSS via data-html-content Sanitizer Bypass

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies