---
id: CVE-2025-62508
title: >-
  Citizen is a MediaWiki skin that makes extensions part of the cohesive
  experience
summary: >-
  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
  copyButtonA…
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-79
published: '2025-10-17'
updated: '2026-10-08'
sourceUpdated: '2026-10-08T22:10:00.563'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-62508'
references:
  - url: >-
      https://github.com/StarCitizenTools/mediawiki-skins-Citizen/commit/e006923c6dbf113c9a025ca186ecc09fe7b93a15
    label: security-advisories@github.com
  - url: >-
      https://github.com/StarCitizenTools/mediawiki-skins-Citizen/commit/fbb1d4fe9627281567706f3f6fc99a42ce16fdc4
    label: security-advisories@github.com
  - url: >-
      https://github.com/StarCitizenTools/mediawiki-skins-Citizen/security/advisories/GHSA-g955-vw6w-v6pp
    label: security-advisories@github.com
tags:
  - nvd
epss: 0.00448
epssPercentile: 0.36928
ingestedAt: '2026-10-08T22:11:53.803Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
