Impact
Any user who can edit a document in a wiki like the user profile can create a stored XSS attack by putting plain HTML code into that document and then tricking another user to visit that document with the displaycontent
or rendercontent
template and plain output syntax. For example, edit any document with the wiki editor and set the content to <script>alert(1)</script>
, save and then append the parameters ?viewer=displaycontent&sheet=&outputSyntax=plain
. If this displays an alert, the installation is vulnerable. If a user with programming rights is tricked into visiting such a URL, arbitrary actions be performed with this user's rights, impacting the confidentiality, integrity, and availability of the whole XWiki installation.
Patches
This has been patched in XWiki 14.4.8, 14.10.5 and 15.1RC1 by setting the content type of the response to plain text when the output syntax is not an HTML syntax.
Workarounds
The patch can be manually applied to the rendercontent.vm
template in an existing installation to patch this vulnerability without upgrading.
References
Impact
Any user who can edit a document in a wiki like the user profile can create a stored XSS attack by putting plain HTML code into that document and then tricking another user to visit that document with the
displaycontent
orrendercontent
template and plain output syntax. For example, edit any document with the wiki editor and set the content to<script>alert(1)</script>
, save and then append the parameters?viewer=displaycontent&sheet=&outputSyntax=plain
. If this displays an alert, the installation is vulnerable. If a user with programming rights is tricked into visiting such a URL, arbitrary actions be performed with this user's rights, impacting the confidentiality, integrity, and availability of the whole XWiki installation.Patches
This has been patched in XWiki 14.4.8, 14.10.5 and 15.1RC1 by setting the content type of the response to plain text when the output syntax is not an HTML syntax.
Workarounds
The patch can be manually applied to the
rendercontent.vm
template in an existing installation to patch this vulnerability without upgrading.References