CVE-2024-37899 Disabling a user account changes its author, allowing RCE from user account in XWiki
Attackers can inject Groovy code into user profiles that executes with admin privileges when the account is disabled, leading to remote code execution.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2024-37899?
CVE-2024-37899 is a critical code injection vulnerability in Xwiki Xwiki, published on 20 Jun 2024. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. When an admin disables a user account, the user's profile is executed with the admin's rights. This allows a user to place malicious code in the user profile before getting an admin to disable the user account. To reproduce, as a user without script nor programming rights, edit the about section of your user profile and add `{{groovy}}services.logging.getLogger("attacker").error("Hello from Groovy!"){{/groovy}}`. As an admin, go to the user profile and click the "Disable this account" button. Then, reload the page. If the logs show `attacker - Hello from Groovy!` then the instance is vulnerable. This has been patched in XWiki 14.10.21, 15.5.5, 15.10.6 and 16.0.0. Users are advised to upgrade. There are no known workarounds for this vulnerability.
### Workarounds We're not aware of any workaround except upgrading.
### References * https://jira.xwiki.org/browse/XWIKI-21611 * https://github.com/xwiki/xwiki-platform/commit/f89c8f47fad6e5cc7e68c69a7e0acde07f5eed5a
Weakness: CWE-94
Which versions are affected by CVE-2024-37899?
10 open source packages ship an affected version, including org.xwiki.platform:xwiki-platform-oldcore. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
org.xwiki.platform:xwiki-platform-oldcore Maven | From 13.10.3 | 14.10.21 |
org.xwiki.platform:xwiki-platform-oldcore Maven | From 13.10.3 | 14.10.21 |
org.xwiki.platform:xwiki-platform-oldcore Maven | From 13.4.7 | 14.10.21 |
org.xwiki.platform:xwiki-platform-oldcore Maven | From 13.4.7 | 14.10.21 |
org.xwiki.platform:xwiki-platform-oldcore Maven | From 15.0-rc-1 | 15.5.5 |
org.xwiki.platform:xwiki-platform-oldcore Maven | From 15.0-rc-1 | 15.5.5 |
4 more packages
org.xwiki.platform:xwiki-platform-oldcore Maven | From 15.6-rc-1 | 15.10.6 |
org.xwiki.platform:xwiki-platform-oldcore Maven | From 15.6-rc-1 | 15.10.6 |
org.xwiki.platform:xwiki-platform-oldcore Maven | From 16.0.0-rc-1 | 16.0.0 |
org.xwiki.platform:xwiki-platform-oldcore Maven | From 16.0.0-rc-1 | 16.0.0 |
Products include Xwiki Xwiki.
How do I fix CVE-2024-37899?
Upgrade org.xwiki.platform:xwiki-platform-oldcore to a fixed version for your release line: 14.10.21, 15.5.5, 15.10.6 or 16.0.0.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2024-37899 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-37899 exists.
Other vulnerabilities in Xwiki Xwiki
- CVE-2025-24893 XWiki Platform Eval Injection
- CVE-2025-53836 XWiki Rendering is vulnerable to RCE attacks when processing nested macros
- CVE-2024-55662 XWiki allows remote code execution through the extension sheet
- CVE-2024-55877 XWiki allows remote code execution from account through macro descriptions and XWiki.XWikiSyntaxMacrosList
- CVE-2024-37901 XWiki Platform vulnerable to remote code execution from account via SearchSuggestConfigSheet
Sources
Also known as GHSA-j584-j2vj-3f93.