CVE-2024-31997
XWiki Platform remote code execution from account through UIExtension parameters
Description
### Impact Parameters of UI extensions are always interpreted as Velocity code and executed with programming rights. Any user with edit right on any document like the user's own profile can create UI extensions. This allows remote code execution and thereby impacts the confidentiality, integrity and availability of the whole XWiki installation. To reproduce, edit your user profile with the object editor and add a UIExtension object with the following values: ``` Extension Point ID: org.xwiki.platform.panels.Applications Extension ID: platform.panels.myFakeApplication Extension parameters: label=I got programming right: $services.security.authorization.hasAccess('programming') target=Main.WebHome targetQueryString= icon=icon:bomb Extension Scope: "Current User". ``` Save the document and open any document. If an application entry with the text "I got programming right: true" is displayed, the attack succeeded, if the code in "label" is displayed literally, the XWiki installation isn't vulnerable. ### Patches This vulnerability has been patched in XWiki 14.10.19, 15.5.4 and 15.9-RC1. ### Workarounds We're not aware of any workarounds apart from upgrading. ### References * https://jira.xwiki.org/browse/XWIKI-21335 * https://github.com/xwiki/xwiki-platform/commit/171e7c7d0e56deaa7b3678657ae26ef95379b1ea
How to fix CVE-2024-31997
To remediate CVE-2024-31997, upgrade the affected package to a fixed version below.
- —upgrade to 14.10.19 or later
Is CVE-2024-31997 being exploited?
Likely — EPSS is 73.9%, placing CVE-2024-31997 in the top tier of vulnerabilities by exploitation probability. Prioritise patching.
Affected packages (1)
- from 0, < 14.10.19