CVE-2025-62508 Citizen vulnerable to stored XSS in sticky header button messages
A user with interface editing rights can inject arbitrary JavaScript into the sticky header, allowing session hijacking and data theft in MediaWiki.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-62508?
CVE-2025-62508 is a medium-severity cross-site scripting vulnerability in StarCitizenTools mediawiki-skins-Citizen, published on 17 Oct 2025. An attacker needs administrator access to exploit it, with no action from the victim.
Official description
Citizen is a MediaWiki skin that makes extensions part of the cohesive experience. Citizen from 3.3.0 to 3.9.0 are vulnerable to stored cross-site scripting in the sticky header button message handling. In stickyHeader.js the copyButtonAttributes function assigns innerHTML from a source element’s textContent when copying button labels. This causes escaped HTML in system message content (such as citizen-share, citizen-view-history, citizen-view-edit, and nstab-talk) to be interpreted as HTML in the sticky header, allowing injection of arbitrary script by a user with the ability to edit interface messages. The vulnerability allows a user with the editinterface right but without the editsitejs right (by default the sysop group has editinterface but may not have editsitejs) to execute arbitrary JavaScript in other users’ sessions, enabling unauthorized access to sensitive data or actions. The issue is fixed in 3.9.0.
Weakness: CWE-79
Which versions are affected by CVE-2025-62508?
2 open source packages ship an affected version, including starcitizentools/citizen-skin.
| Package | Affected | Fixed in |
|---|---|---|
starcitizentools/citizen-skin Packagist | From 3.3.0 | 3.9.0 |
starcitizentools/citizen-skin Packagist | From 3.3.0 | 3.9.0 |
How do I fix CVE-2025-62508?
Upgrade starcitizentools/citizen-skin to 3.9.0 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2025-62508 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-62508 exists.
Sources
Also known as GHSA-g955-vw6w-v6pp.