Impact
Any user with script rights can perform arbitrary remote code execution by adding instances of XWiki.ConfigurableClass to any page. This compromises the confidentiality, integrity and availability of the whole XWiki installation.
To reproduce on a instance, as a user with script rights, edit your user profile and add an object of type XWiki.ConfigurableClass ("Custom configurable sections").
Set "Display in section" and "Display in category" to other, "Scope" to Wiki and all spaces and "Heading" to:
#set($codeToExecute = 'Test') #set($codeToExecuteResult = '{{async}}{{groovy}}services.logging.getLogger("attacker").error("Attack from Heading succeeded!"){{/groovy}}{{/async}}')
Save the page and view it, then add ?sheet=XWiki.AdminSheet&viewer=content§ion=other to the URL.
If the logs contain "attacker - Attack from Heading succeeded!", then the instance is vulnerable.
Patches
This has been patched in XWiki 15.10.9 and 16.3.0.
Workarounds
We're not aware of any workaround except upgrading.
References
For more information
If you have any questions or comments about this advisory:
Impact
Any user with script rights can perform arbitrary remote code execution by adding instances of
XWiki.ConfigurableClassto any page. This compromises the confidentiality, integrity and availability of the whole XWiki installation.To reproduce on a instance, as a user with script rights, edit your user profile and add an object of type
XWiki.ConfigurableClass("Custom configurable sections").Set "Display in section" and "Display in category" to
other, "Scope" toWiki and all spacesand "Heading" to:Save the page and view it, then add
?sheet=XWiki.AdminSheet&viewer=content§ion=otherto the URL.If the logs contain "attacker - Attack from Heading succeeded!", then the instance is vulnerable.
Patches
This has been patched in XWiki 15.10.9 and 16.3.0.
Workarounds
We're not aware of any workaround except upgrading.
References
For more information
If you have any questions or comments about this advisory: