{"id":"GHSA-4j5h-mvj3-m48v","summary":"Star Citizen  EmbedVideo Extension Stored XSS through wikitext caused by usage of non-reserved data attributes","details":"### Summary\nThe EmbedVideo extension allows adding arbitrary attributes to an HTML element, allowing for stored XSS through wikitext.\n\n### Details\n\nThe attributes of an iframe are populated with the value of an unreserved data attribute (`data-iframeconfig`) that can be set via wikitext:\nhttps://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo/blob/440fb331a84b2050f4cc084c1d31d58a1d1c202d/resources/ext.embedVideo.videolink.js#L5-L20\nSimilar code is also present here:\nhttps://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo/blob/440fb331a84b2050f4cc084c1d31d58a1d1c202d/resources/modules/iframe.js#L139-L155\n\nIt is possible to execute JS through attributes like `onload` or `onmouseenter`.\n\n### PoC\n\n1. Create a page with the following contents:\n```html\n\u003cdiv class=\"embedvideo-evl\" data-iframeconfig='{\"onload\": \"alert(1)\"}'\u003eClick me!\u003c/div\u003e\n\u003cevlplayer\u003e\u003c/evlplayer\u003e\n```\n2. Click on the \"Click me!\" text\n3. Click on the \"Load video\" button below\n\u003cimg width=\"855\" height=\"404\" alt=\"image\" src=\"https://github.com/user-attachments/assets/afb3839a-012c-4e90-a208-a6137b704ccd\" /\u003e\n\n\n### Impact\nArbitrary HTML can be inserted into the DOM by any user, allowing for JavaScript to be executed.","aliases":["CVE-2025-59839"],"modified":"2026-09-10T03:50:27.926243875Z","published":"2025-09-24T20:11:17Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2025-09-24T20:11:17Z","nvd_published_at":"2025-09-25T14:15:46Z","cwe_ids":["CWE-79"],"severity":"HIGH"},"references":[{"type":"WEB","url":"https://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo/security/advisories/GHSA-4j5h-mvj3-m48v"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-59839"},{"type":"WEB","url":"https://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo/commit/4e075d3dc9a15a3ee53f449a684d5ab847e52f01"},{"type":"PACKAGE","url":"https://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo"},{"type":"WEB","url":"https://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo/blob/440fb331a84b2050f4cc084c1d31d58a1d1c202d/resources/ext.embedVideo.videolink.js#L5-L20"},{"type":"WEB","url":"https://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo/blob/440fb331a84b2050f4cc084c1d31d58a1d1c202d/resources/modules/iframe.js#L139-L155"}],"affected":[{"package":{"name":"starcitizenwiki/embedvideo","ecosystem":"Packagist","purl":"pkg:composer/starcitizenwiki/embedvideo"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"4.0.0"}]}],"versions":["3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","3.1.0","3.2.0","3.2.1","3.2.2","3.2.3","3.2.4","3.2.5","3.2.6","3.2.7","3.2.8","3.3.0","3.4.0","3.4.1","3.4.2","3.4.3","4.0.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/09/GHSA-4j5h-mvj3-m48v/GHSA-4j5h-mvj3-m48v.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L"}]}