CVE-2023-35160: XWiki Platform vulnerable to reflected cross-site scripting via back and xcontinue parameters in resubmit 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 resubmit template to perform a XSS, e.g. by using URL such as:
> xwiki/bin/view/XWiki/Main?xpage=resubmit&resubmit=javascript:alert(document.domain)&xback=javascript:alert(document.domain)
This vulnerability exists since XWiki 2.5-milestone-2.
Patches
The vulnerability has been patched in XWiki 14.10.5 and 15.1-rc-1.
Workarounds
It's possible to workaround the vulnerability by editing the template resubmit.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 vulnerability: https://jira.xwiki.org/browse/XWIKI-20343 Introduction of the macro used for fixing all those vulnerabilities: https://jira.xwiki.org/browse/XWIKI-20583 Commit containing the actual fix in the page: https://github.com/xwiki/xwiki-platform/commit/dbc92dcdace33823ffd1e1591617006cb5fc6a7f
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 resubmit template to perform a XSS, e.g. by using URL such as: > xwiki/bin/view/XWiki/Main xpage=resubmit&resubmit=javascript:alert(document.domain)&xback=javascript:alert(document.domain). This vulnerability exists since XWiki 2.5-milestone-2. The vulnerability has been patched in XWiki 14.10.5 and 15.1-rc-1.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/org.xwiki.platform:xwiki-platform-web-templatesto a version that resolves this vulnerability.Fixed in 15.1-rc-1 - Upgrade
Upgrade
maven/org.xwiki.platform:xwiki-platform-web-templatesto a version that resolves this vulnerability.Fixed in 14.10.5 - Upgrade
Upgrade
xwiki-platformto a version that resolves this vulnerability.Fixed in 14.10.5 - Upgrade
Upgrade
xwiki-platformto a version that resolves this vulnerability.Fixed in 15.1-rc-1 - Configuration
As a workaround, edit the template resubmit.vm to perform checks on the resubmit template parameters to prevent reflected XSS (e.g., block/neutralize payloads like javascript:alert(document.domain) passed via xpage=resubmit&resubmit=...&xback=...). Note: the advisory states the appropriate fix involves new APIs introduced in XWiki.
XWiki resubmit template (resubmit.vm) URL parameter handling (perform checks to prevent XSS payloads) = Add validation/sanitization logic to reject/neutralize javascript: payloads in resubmit, xback, and related parameters
Event History
Frequently Asked Questions
What is CVE-2023-35160?
CVE-2023-35160 is a vulnerability in XWiki Platform that allows users to inject Javascript into a page through a forged URL, resulting in a cross-site scripting (XSS) attack.
How severe is CVE-2023-35160?
CVE-2023-35160 has a severity level of critical with a CVSS score of 6.1.
Which versions of XWiki Platform are affected by CVE-2023-35160?
XWiki Platform versions between 3.0 and 14.10.5, XWiki 2.5-milestone2, and XWiki 15.0 are affected by CVE-2023-35160.
How can I exploit CVE-2023-35160?
You can exploit CVE-2023-35160 by using a specially crafted URL that injects Javascript into the page.
Is there a fix for CVE-2023-35160?
Yes, a fix for CVE-2023-35160 is available. Update to a version of XWiki Platform that is not affected by the vulnerability.