Headline
GHSA-vxwr-wpjv-qjq7: XWiki Platform: Privilege escalation (PR) from user registration through PDFClass
Impact
Remote code execution is possible via PDF export templates.
To reproduce on an installation, register a new user account with username PDFClass
if XWiki.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 a style
attribute.
Otherwise, the instance needs to be updated.
References
- https://jira.xwiki.org/browse/XWIKI-21337
- https://github.com/xwiki/xwiki-platform/commit/d28e21a670c69880b951e415dd2ddd69d273eae9
- GitHub Advisory Database
- GitHub Reviewed
- CVE-2024-31981
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
maven org.xwiki.platform:xwiki-platform-oldcore (Maven)
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
Impact
Remote code execution is possible via PDF export templates.
To reproduce on an installation, register a new user account with username PDFClass if XWiki.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 a style attribute.
Otherwise, the instance needs to be updated.
References
- https://jira.xwiki.org/browse/XWIKI-21337
- xwiki/xwiki-platform@d28e21a
References
- GHSA-vxwr-wpjv-qjq7
- xwiki/xwiki-platform@480186f
- xwiki/xwiki-platform@a4ad14d
- xwiki/xwiki-platform@d28e21a
- https://jira.xwiki.org/browse/XWIKI-21337
Published to the GitHub Advisory Database
Apr 10, 2024
Last updated
Apr 10, 2024