Impact
The Solr script service that is accessible in XWiki's scripting API normally requires programming right to be called. Due to using the wrong API for checking rights, it doesn't take the fact into account that programming rights might have been dropped by calling $xcontext.dropPermissions()
. If some code relies on this for the safety of executing Velocity code with the wrong author context, this could allow a user with script right to either cause a high load by indexing documents or to temporarily remove documents from the search index. We're not aware that this is exploitable in XWiki itself.
To reproduce, a user with programming right can add the following XWiki syntax to a page:
{{velocity}}
$xcontext.dropPermissions()
$services.solr.index('document:xwiki:Main.WebHome')
{{/velocity}}
This should trigger an error in XWiki's log, otherwise the installation is vulnerable.
Patches
This has been patched in XWiki 15.10.13, 16.8.0RC1, and 16.4.4.
Workarounds
We're not aware of any workarounds apart from being careful whom you grant script right.
References
Impact
The Solr script service that is accessible in XWiki's scripting API normally requires programming right to be called. Due to using the wrong API for checking rights, it doesn't take the fact into account that programming rights might have been dropped by calling
$xcontext.dropPermissions()
. If some code relies on this for the safety of executing Velocity code with the wrong author context, this could allow a user with script right to either cause a high load by indexing documents or to temporarily remove documents from the search index. We're not aware that this is exploitable in XWiki itself.To reproduce, a user with programming right can add the following XWiki syntax to a page:
This should trigger an error in XWiki's log, otherwise the installation is vulnerable.
Patches
This has been patched in XWiki 15.10.13, 16.8.0RC1, and 16.4.4.
Workarounds
We're not aware of any workarounds apart from being careful whom you grant script right.
References