NetSight
high8.6

CVE-2025-53369

Citizen Short Description stored XSS vulnerability through wikitext

Impact

### Summary Short descriptions are not properly sanitized by the ShortDescription before being inserted as HTML using `mw.util.addSubtitle`, allowing any user to insert arbitrary HTML into the DOM by editing a page. ### Details The description provided by the user via the `{{SHORTDESC:}}` parser function is insufficiently sanitized by the `sanitize()` function, as html entities are decoded: https://github.com/StarCitizenTools/mediawiki-extensions-ShortDescription/blob/7244b1e8b5cb6dbd7e546c5be7fed8a56e33d065/includes/Hooks/ParserHooks.php#L147-L159 Via JS, the short description is then passed to `mw.util.addSubtitle`, which inserts it as raw HTML: https://github.com/StarCitizenTools/mediawiki-extensions-ShortDescription/blob/7244b1e8b5cb6dbd7e546c5be7fed8a56e33d065/modules/ext.shortDescription.js#L8 https://github.com/wikimedia/mediawiki/blob/96372101b3c579d9992e8a31a3ccd90a937cac47/resources/src/mediawiki.util/util.js#L552-L563 ### PoC 1. Enable ShortDescription 2. Make sure `$wgShortDescriptionEnableTagline` is set to `true` (this is the default) 3. Create a page and insert the following wikitext: `{{SHORTDESC:<img src="" onerror="alert('shortdescription xss')">}}` 4. Visit the page ![image](https://github.com/user-attachments/assets/8e467f28-3bb5-4462-b28b-14e145be743f) ![image](https://github.com/user-attachments/assets/39e132c3-6a92-4f24-8aef-b915e8560f63) ### Impact Arbitrary HTML can be inserted into the DOM by any user, allowing for JavaScript to be executed.

Affected packages

EcosystemPackageAffectedFixed in
composerstarcitizentools/short-description>= 4.0.0, < 4.0.14.0.1

Weakness classification

References