Home

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.

PUBLISHED Reserved 2025-10-15 | Published 2025-10-17 | Updated 2025-10-17 | Assigner GitHub_M




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

Problem types

CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Product status

>= 3.3.0, < 3.9.0
affected

References

github.com/...itizen/security/advisories/GHSA-g955-vw6w-v6pp

github.com/...ommit/e006923c6dbf113c9a025ca186ecc09fe7b93a15

github.com/...ommit/fbb1d4fe9627281567706f3f6fc99a42ce16fdc4

cve.org (CVE-2025-62508)

nvd.nist.gov (CVE-2025-62508)

Download JSON