Impact
Any user with an account can perform arbitrary remote code execution by adding instances of XWiki.WikiMacroClass
to any page. This compromises the confidentiality, integrity and availability of the whole XWiki installation.
To reproduce on a instance, as a connected user without script nor programming rights, go to your user profile and add an object of type XWiki.WikiMacroClass
. Set "Macro Id", "Macro Name" and "Macro Code" to any value, "Macro Visibility" to Current User
and "Macro Description" to {{async}}{{groovy}}println("Hello from User macro!"){{/groovy}}{{/async}}
.
Save the page, then go to <host>/xwiki/bin/view/XWiki/XWikiSyntaxMacrosList
.
If the description of your new macro reads "Hello from User macro!", then your instance is vulnerable.
Patches
This vulnerability has been fixed in XWiki 15.10.11, 16.4.1 and 16.5.0.
Workarounds
It is possible to manually apply this patch to the page XWiki.XWikiSyntaxMacrosList
.
References
Impact
Any user with an account can perform arbitrary remote code execution by adding instances of
XWiki.WikiMacroClass
to any page. This compromises the confidentiality, integrity and availability of the whole XWiki installation.To reproduce on a instance, as a connected user without script nor programming rights, go to your user profile and add an object of type
XWiki.WikiMacroClass
. Set "Macro Id", "Macro Name" and "Macro Code" to any value, "Macro Visibility" toCurrent User
and "Macro Description" to{{async}}{{groovy}}println("Hello from User macro!"){{/groovy}}{{/async}}
.Save the page, then go to
<host>/xwiki/bin/view/XWiki/XWikiSyntaxMacrosList
.If the description of your new macro reads "Hello from User macro!", then your instance is vulnerable.
Patches
This vulnerability has been fixed in XWiki 15.10.11, 16.4.1 and 16.5.0.
Workarounds
It is possible to manually apply this patch to the page
XWiki.XWikiSyntaxMacrosList
.References