XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. In affected versions any user with view 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 UIX parameters. A proof of concept exploit is to log in, add an XWiki.UIExtensionClass
xobject to the user profile page, with an Extension Parameters content containing label={{/html}} {{async async=true cached=false context=doc.reference}}{{groovy}}println(Hello + from groovy!){{/groovy}}{{/async}}
. Then, navigating to PanelsCode.ApplicationsPanelConfigurationSheet
(i.e., <xwiki-host>/xwiki/bin/view/PanelsCode/ApplicationsPanelConfigurationSheet
where <xwiki-host>
is the URL of your XWiki installation) should not execute the Groovy script. If it does, you will see Hello from groovy!
displayed on the screen. This vulnerability has been patched in XWiki 13.10.11, 14.4.7 and 14.10-rc-1. Users are advised to upgrade. For users unable to upgrade the issue can be fixed by editing the PanelsCode.ApplicationsPanelConfigurationSheet
wiki page and making the same modifications as shown in commit 6de5442f3c
.
The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Xwiki | Xwiki | 6.3 (excluding) | 13.10.11 (excluding) |
Xwiki | Xwiki | 14.0 (including) | 14.4.7 (excluding) |
Xwiki | Xwiki | 14.5 (including) | 14.10 (excluding) |
Xwiki | Xwiki | 6.3 (including) | 6.3 (including) |
Xwiki | Xwiki | 6.3-milestone1 (including) | 6.3-milestone1 (including) |
Xwiki | Xwiki | 6.3-milestone2 (including) | 6.3-milestone2 (including) |