CVE-2023-35156: XWiki Platform vulnerable to reflected cross-site scripting via xredirect parameter in delete template
Impact
Users are able to forge an URL with a payload allowing to inject Javascript in the page (XSS). It's possible to exploit the delete template to perform a XSS, e.g. by using URL such as:
xwiki/bin/get/FlamingoThemes/Cerulean?xpage=xpart&vm=delete.vm&xredirect=javascript:alert(document.domain)
This vulnerability exists since XWiki 6.0-rc-1.
Patches
The vulnerability has been patched in XWiki 14.10.6 and 15.1. Note that a partial patch has been provided in 14.10.5 but wasn't enough to entirely fix the vulnerability.
Workarounds
It's possible to workaround the vulnerability by editing the template delete.vm to perform checks on it, but note that the appropriate fix involves new APIs that have been recently introduced in XWiki. See the referenced jira tickets.
References
Jira ticket about the original vulnerability: https://jira.xwiki.org/browse/XWIKI-20341 Commit containing the first fix in the template: https://github.com/xwiki/xwiki-platform/commit/e80d22d193df364b07bab7925572720f91a8984a Jira ticket about the second part of the vulnerability found after 14.10.5: https://jira.xwiki.org/browse/XWIKI-20672 Commits containing the second fix in the template: https://github.com/xwiki/xwiki-platform/commit/13875a6437d4525ac4aeea25918f2d2dffac9ee1 https://github.com/xwiki/xwiki-platform/commit/24ec12890ac7fa6daec8d0b3435cfcba11362fd5 Introduction of the macro used for fixing all those vulnerabilities: https://jira.xwiki.org/browse/XWIKI-20583
For more information
If you have any questions or comments about this advisory: Open an issue in Jira XWiki.org Email us at Security Mailing List
Attribution
This vulnerability has been reported by René de Sain @renniepak.
Other sources
XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. Users are able to forge an URL with a payload allowing to inject Javascript in the page (XSS). It's possible to exploit the delete template to perform a XSS, e.g. by using URL such as: > xwiki/bin/get/FlamingoThemes/Cerulean?xpage=xpart&vm=delete.vm&xredirect=javascript:alert(document.domain). This vulnerability exists since XWiki 6.0-rc-1. The vulnerability has been patched in XWiki 14.10.6 and 15.1. Note that a partial patch has been provided in 14.10.5 but wasn't enough to entirely fix the vulnerability.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/org.xwiki.platform:xwiki-platform-flamingo-skin-resourcesto a version that resolves this vulnerability.Fixed in 15.1 - Upgrade
Upgrade
maven/org.xwiki.platform:xwiki-platform-flamingo-skin-resourcesto a version that resolves this vulnerability.Fixed in 14.10.6 - Upgrade
Upgrade
XWiki Platformto a version that resolves this vulnerability.Fixed in 14.10.6 - Upgrade
Upgrade
XWiki Platformto a version that resolves this vulnerability.Fixed in 15.1 - Configuration
As a workaround, edit the template delete.vm to perform checks on the xredirect parameter to prevent JavaScript injection (note: the advisory states the appropriate fix involves new APIs introduced in XWiki).
XWiki delete template (delete.vm) xredirect handling = Add input checks before rendering/using xredirect (edit delete.vm to perform checks)
Event History
Frequently Asked Questions
What is CVE-2023-35156?
CVE-2023-35156 is a vulnerability in XWiki Platform that allows users to inject JavaScript in a page, leading to a cross-site scripting (XSS) attack.
What is the severity of CVE-2023-35156?
CVE-2023-35156 has a severity level of critical.
How can CVE-2023-35156 be exploited?
CVE-2023-35156 can be exploited by forging a URL with a payload that injects JavaScript into the page.
Which versions of XWiki Platform are affected by CVE-2023-35156?
XWiki Platform versions 6.0.1 to 14.10.6 and versions 6.0-milestone1, 6.0-milestone2, and 15.0 are affected by CVE-2023-35156.
How can CVE-2023-35156 be fixed?
To fix CVE-2023-35156, users should update to a version of XWiki Platform that includes the following commits: [commit1](https://github.com/xwiki/xwiki-platform/commit/13875a6437d4525ac4aeea25918f2d2dffac9ee1), [commit2](https://github.com/xwiki/xwiki-platform/commit/24ec12890ac7fa6daec8d0b3435cfcba11362fd5), and [commit3](https://github.com/xwiki/xwiki-platform/commit/e80d22d193df364b07bab7925572720f91a8984a).