Any user with edit right on any page can perform arbitrary remote code execution by adding instances of XWiki.SearchSuggestConfig
and XWiki.SearchSuggestSourceClass
to their user profile or any other page. This compromises the confidentiality, integrity and availability of the whole XWiki installation.
To reproduce on an instance, as a user without script nor programming rights, add an object of type XWiki.SearchSuggestConfig
to your profile page, and an object of type XWiki.SearchSuggestSourceClass
as well. On this last object, set both name
and icon
properties to $services.logging.getLogger("attacker").error("I got programming: $services.security.authorization.hasAccess('programming')")
and limit
and engine
to {{/html}}{{async}}{{velocity}}$services.logging.getLogger("attacker").error("I got programming: $services.security.authorization.hasAccess('programming')"){{/velocity}}{{/async}}
. Save and display the page. If the logs contain any message ERROR attacker - I got programming: true
then the instance is vulnerable.
This vulnerability has been patched in XWiki 14.10.21, 15.5.5 and 15.10.2.
We're not aware of any workaround except upgrading.
{ "nvd_published_at": "2024-07-31T16:15:03Z", "cwe_ids": [ "CWE-862", "CWE-94", "CWE-95" ], "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2024-07-31T15:24:37Z" }