CVE-2024-31981: XWiki Platform: Privilege escalation (PR) from user registration through PDFClass
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.
References
- github.com/advisories/GHSA-vxwr-wpjv-qjq7
- github.com/xwiki/xwiki-platform
- github.com/xwiki/xwiki-platform/commit/480186f9d2fca880513da8bc5a609674d106cbd3
- github.com/xwiki/xwiki-platform/commit/a4ad14d9c1605a5ab957237e505ebbb29f5b9d73
- github.com/xwiki/xwiki-platform/commit/d28e21a670c69880b951e415dd2ddd69d273eae9
- github.com/xwiki/xwiki-platform/security/advisories/GHSA-vxwr-wpjv-qjq7
- jira.xwiki.org/browse/XWIKI-21337
- nvd.nist.gov/vuln/detail/CVE-2024-31981
Detect and mitigate CVE-2024-31981 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →