CVE-2024-21650: XWiki Remote Code Execution vulnerability via user registration
Impact XWiki is vulnerable to a remote code execution (RCE) attack through its user registration feature. This issue allows an attacker to execute arbitrary code by crafting malicious payloads in the "first name" or "last name" fields during user registration. This impacts all installations that have user registration enabled for guests.
To reproduce, register with any username and password and the following payload as "first name": ]]{{/html}}{{async}}{{groovy}}services.logging.getLogger("attacker").error("Attack succeeded){{/groovy}}{{/async}}. In the following page that confirms the success of the registration, the full first name should be displayed, linking to the created user. If the formatting is broken and a log message with content "ERROR attacker - Attack succeeded!" is logged, the attack succeeded.
Patches This vulnerability has been patched in XWiki 14.10.17, 15.5.3 and 15.8 RC1.
Workarounds
In the administration of your wiki, under "Users & Rights" > "Registration" set the "Registration Successful Message" to the following code:
velocity #set($message = $services.localization.render('core.register.successful', 'xwiki/2.1', ['USERLINK', $userName])) #set($userLink = $xwiki.getUserName("$userSpace$userName")) {{info}}$message.replace('USERLINK', "{{html clean=false}}$userLink{{/html}}"){{/info}}
References https://jira.xwiki.org/browse/XWIKI-21173 https://github.com/xwiki/xwiki-platform/commit/b290bfd573c6f7db6cc15a88dd4111d9fcad0d31
Other sources
XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. XWiki is vulnerable to a remote code execution (RCE) attack through its user registration feature. This issue allows an attacker to execute arbitrary code by crafting malicious payloads in the "first name" or "last name" fields during user registration. This impacts all installations that have user registration enabled for guests. This vulnerability has been patched in XWiki 14.10.17, 15.5.3 and 15.8 RC1.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/org.xwiki.platform:xwiki-platform-administration-uito a version that resolves this vulnerability.Fixed in 15.8-rc-1 - Upgrade
Upgrade
maven/org.xwiki.platform:xwiki-platform-administration-uito a version that resolves this vulnerability.Fixed in 15.5.3 - Upgrade
Upgrade
maven/org.xwiki.platform:xwiki-platform-administration-uito a version that resolves this vulnerability.Fixed in 14.10.17 - Upgrade
Upgrade
xwiki-platformto a version that resolves this vulnerability.Fixed in 14.10.17 - Upgrade
Upgrade
xwiki-platformto a version that resolves this vulnerability.Fixed in 15.5.3 - Upgrade
Upgrade
xwiki-platformto a version that resolves this vulnerability.Fixed in 15.8 RC1 - Configuration
In the administration of your wiki under "Users & Rights" > "Registration", set "Registration Successful Message" so that the confirmation page displays the full first name and links to the created user (as described in the provided instructions).
XWiki (administration) Users & Rights > Registration > Registration Successful Message = {{info}}$message.replace('USERLINK', "{{html clean=false}}$userLink{{/html}}"){{/info}} - Compensating control
If the log contains the message "ERROR attacker - Attack succeeded!", treat the registration flow as compromised and assume the RCE attack succeeded.
Event History
Frequently Asked Questions
What is the severity of CVE-2024-21650?
CVE-2024-21650 is classified as a critical vulnerability due to its potential for remote code execution.
How do I fix CVE-2024-21650?
To fix CVE-2024-21650, upgrade to XWiki version 15.8-rc-1 or later, or apply the provided patches.
Which XWiki versions are affected by CVE-2024-21650?
CVE-2024-21650 affects all XWiki versions prior to 15.8-rc-1, including versions between 15.0-rc-1 and 15.5.3.
Can CVE-2024-21650 be exploited remotely?
Yes, CVE-2024-21650 can be exploited remotely by attackers through the user registration feature.
What kind of attack does CVE-2024-21650 facilitate?
CVE-2024-21650 facilitates remote code execution attacks by allowing arbitrary code to be executed through crafted user input.