XWiki's database search allows remote code execution through the search text. This allows remote code execution for any visitor of a public wiki or user of a closed wiki as the database search is by default accessible for all users. This impacts the confidentiality, integrity and availability of the whole XWiki installation.
To reproduce on an instance, without being logged in, go to <hostname>/xwiki/bin/get/Main/DatabaseSearch?outputSyntax=plain&text=%7D%7D%7D%7B%7Basync%20async%3Dfalse%7D%7D%7B%7Bgroovy%7D%7Dprintln%28%22Hello%20from%22%20%2B%20%22%20search%20text%3A%22%20%2B%20%2823%20%2B%2019%29%29%7B%7B%2Fgroovy%7D%7D%7B%7B%2Fasync%7D%7D%20
. If the title of the RSS channel contains Hello from search text:42
, the instance is vulnerable.
This vulnerability has been patched in XWiki 14.10.20, 15.5.4 and 15.10RC1.
It is possible to manually apply this patch to the page Main.DatabaseSearch
. Alternatively, unless database search is explicitly used by users, this page can be deleted as this is not the default search interface of XWiki.
{ "nvd_published_at": "2024-04-10T20:15:08Z", "cwe_ids": [ "CWE-95" ], "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2024-04-10T17:12:47Z" }