XWiki allows remote code execution from account through macro descriptions and XWiki.XWikiSyntaxMacrosList
Critical severity
GitHub Reviewed
Published
Dec 12, 2024
in
xwiki/xwiki-platform
•
Updated Dec 12, 2024
Package
Affected versions
>= 9.7-rc-1, < 15.10.11
>= 16.0.0-rc-1, < 16.4.1
>= 16.5.0-rc-1, < 16.5.0
Patched versions
15.10.11
16.4.1
16.5.0
Description
Published to the GitHub Advisory Database
Dec 12, 2024
Reviewed
Dec 12, 2024
Published by the National Vulnerability Database
Dec 12, 2024
Last updated
Dec 12, 2024
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
References