XWiki Platform: Privilege escalation (PR) from user registration through PDFClass
Critical severity
GitHub Reviewed
Published
Apr 10, 2024
in
xwiki/xwiki-platform
•
Updated Apr 10, 2024
Package
Affected versions
>= 3.0.1, < 14.10.20
>= 15.0-rc-1, < 15.5.4
>= 15.6-rc-1, < 15.10-rc-1
Patched versions
14.10.20
15.5.4
15.10-rc-1
Description
Published to the GitHub Advisory Database
Apr 10, 2024
Reviewed
Apr 10, 2024
Published by the National Vulnerability Database
Apr 10, 2024
Last updated
Apr 10, 2024
Impact
Remote code execution is possible via PDF export templates.
To reproduce on an installation, register a new user account with username
PDFClass
ifXWiki.PDFClass
does not exist.On
XWiki.PDFClass
, use the class editor to add a "style" property of type "TextArea" and content type "Plain Text".Then, add an object of class
PDFClass
and set the "style" attribute to$services.logging.getLogger('PDFClass').error("I got programming: $services.security.authorization.hasAccess('programming')")
.Finally, go to
<host>/xwiki/bin/export/Main/WebHome?format=pdf&pdftemplate=XWiki.PDFClass
. If the logs contain "ERROR PDFClass - I got programming: true", the instance is vulnerable.Patches
This vulnerability has been patched in XWiki 14.10.20, 15.5.4 and 15.10-rc-1.
Workarounds
If PDF templates are not typically used on the instance, an administrator can create the document
XWiki.PDFClass
and block its edition, after making sure that it does not contain astyle
attribute.Otherwise, the instance needs to be updated.
References
References