Impact
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.
Patches
The issue has been fixed in XWiki 14.10.5 and 15.1RC1 by dfb1cde . 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.
Workarounds
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}}
References
For more information
If you have any questions or comments about this advisory:
Attribution
This vulnerability has been found and reported by @michitux .
Impact
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.Patches
The issue has been fixed in XWiki 14.10.5 and 15.1RC1 by dfb1cde . 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.Workarounds
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 thedisplay
script service to render the content, like this:References
For more information
If you have any questions or comments about this advisory:
Attribution
This vulnerability has been found and reported by @michitux .