CVE-2024-31981
XWiki Platform: Privilege escalation (PR) from user registration through PDFClass
Description
### 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
How to fix CVE-2024-31981
To remediate CVE-2024-31981, upgrade the affected package to a fixed version below.
- —upgrade to 14.10.20 or later
Is CVE-2024-31981 being exploited?
Moderate — EPSS is 24.1%. Track this CVE but it's not at the top of the prioritisation list.
Affected packages (1)
- >= 3.0.1, < 14.10.20