XWiki Platform vulnerable to Cross-site Scripting in the deleted attachments list
Description
The XWiki Platform Index UI is an Index of all pages, attachments, orphans and deleted pages and attachments for XWiki Platform, a generic wiki platform. Prior to versions 13.10.6 and 14.3, it's possible to store JavaScript which will be executed by anyone viewing the deleted attachments index with an attachment containing javascript in its name. This issue has been patched in XWiki 13.10.6 and 14.3. As a workaround, modify fix the vulnerability by editing the wiki page XWiki.DeletedAttachments with the object editor, open the JavaScriptExtension object and apply on the content the changes that can be found on the fix commit.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
org.xwiki.platform:xwiki-platform-index-uiMaven | >= 2.2-milestone-1, < 13.10.6 | 13.10.6 |
org.xwiki.platform:xwiki-platform-index-uiMaven | >= 14.0, < 14.3 | 14.3 |
Affected products
1- Range: >= 2.2-milestone-1, < 13.10.6
Patches
16705b0cd0289XWIKI-19613: Bad display in deleted attachments
1 file changed · +4 −4
xwiki-platform-core/xwiki-platform-index/xwiki-platform-index-ui/src/main/resources/XWiki/DeletedAttachments.xml+4 −4 modified@@ -333,13 +333,13 @@ if (typeof XWiki.index.trash.attachments == "undefined") { */ XWiki.index.trash.attachments.displayEntry = function (row, i, table) { var tr = new Element('tr'); // The resulting table row - var file = new Element('a', {'href' : row.url}).update(row.filename); + var file = new Element('a', {'href' : row.url}).update((row.filename || '').escapeHTML()); tr.appendChild(new Element('td').update(file)); - var doc = new Element('a', {'href' : row.documentUrl}).update(row.title); + var doc = new Element('a', {'href' : row.documentUrl}).update((row.title || '').escapeHTML()); doc.appendChild(document.createTextNode(' (' + row.docName + ')')); tr.appendChild(new Element('td').update(doc)); - tr.appendChild(new Element('td').update(row.date)); - var deleter = new Element('a', {'href' : row.deleterurl}).update(row.deletername); + tr.appendChild(new Element('td').update((row.date || '').escapeHTML())); + var deleter = new Element('a', {'href' : row.deleterurl}).update((row.deletername || '').escapeHTML()); tr.appendChild(new Element('td').update(deleter)); var actions = new Element('td', {'class' : 'itemActions'}); if(row.canDelete) {
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- github.com/advisories/GHSA-gjmq-x5x7-wc36ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2022-36096ghsaADVISORY
- github.com/xwiki/xwiki-platform/commit/6705b0cd0289d1c90ed354bd4ecc1508c4b25745ghsax_refsource_MISCWEB
- github.com/xwiki/xwiki-platform/security/advisories/GHSA-gjmq-x5x7-wc36ghsax_refsource_CONFIRMWEB
- jira.xwiki.org/browse/XWIKI-19613ghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.