VDB
Sign up
MEDIUM6.5

GHSA-g3cp-pq72-hjpv

starcitizentools/citizen-skin allows stored XSS in menu heading message

Quick fix

GHSA-g3cp-pq72-hjpv — starcitizentools/citizen-skin: upgrade to the fixed version with the command below.

composer require starcitizentools/citizen-skin:^3.3.1

Details

### Summary All system messages in menu headings using the Menu.mustache template are inserted as raw HTML, allowing anybody who can edit those messages to insert arbitrary HTML into the DOM.

### Details The system messages for menu headings are inserted unescaped into raw HTML: https://github.com/StarCitizenTools/mediawiki-skins-Citizen/blob/072e4365e9084e4b153eac62d3666566c06f5a49/templates/Menu.mustache#L8-L10

### PoC 1. Go to any article using citizen with the `uselang` parameter set to `x-xss` 2. A large number of alerts will be shown for various messages, e.g.: ![image](https://github.com/user-attachments/assets/6a18ec77-d2a0-4a0d-b4aa-83359304659a) ![image](https://github.com/user-attachments/assets/eaadb8e1-58b6-41be-90d2-829c50cf75ac)

On the main page of my test wiki, the following messages were shown: `navigation`, `notifications`, `user-interface-preferences`, `personaltools`, `variants`, `views`, `associated-pages`, `cactions` and `toolbox`.

### Impact This impacts wikis where a group has the `editinterface` but not the `editsitejs` user right.

Are you affected?

Enter the version of the package you're using.

Affected packages

Packagist/starcitizentools/citizen-skin
Introduced in: 2.4.2Fixed in: 3.3.1
Fixcomposer require starcitizentools/citizen-skin:^3.3.1

References