Any registered user can use the content field of their user profile page to execute arbitrary scripts with programming rights, thus effectively performing rights escalation.
The problem is present since version 4.3M2 when AppWithinMinutes Application added support for the Content field, allowing any wiki page (including the user profile page) to use its content as an AWM Content field, which has a custom displayer that executes the content with the rights of the AppWithinMinutes.Content
author, rather than the rights of the content author.
The issue has been fixed in XWiki 14.10.5 and 15.1RC1 by https://github.com/xwiki/xwiki-platform/commit/dfb1cde173e363ca5c12eb3654869f9719820262 . The fix is in the content of the AppWithinMinutes.Content page that defines the custom displayer. By using the display
script service to render the content we make sure that the proper author is used for access rights checks.
If you want to fix this problem on older versions of XWiki that have not been patched then you need to modify the content of AppWithinMinutes.Content
page to use the display
script service to render the content, like this:
- {{html}}$tdoc.getRenderedContent($tdoc.content, $tdoc.syntax.toIdString()).replace('{{', '{{'){{/html}}
+ {{html}}$services.display.content($tdoc, {
+ 'displayerHint': 'default'
+ }).replace('{{/html}}', '{{/html}}'){{/html}}
If you have any questions or comments about this advisory: * Open an issue in Jira XWiki.org * Email us at Security Mailing List
This vulnerability has been found and reported by @michitux .
{ "nvd_published_at": "2023-08-23T21:15:08Z", "cwe_ids": [ "CWE-95" ], "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2023-08-21T20:10:55Z" }