It's possible to store JavaScript in an attachment name, which will be executed by anyone trying to move the corresponding attachment.
This issue has been patched in XWiki 14.4RC1.
#set($titleToDisplay = $services.localization.render('attachment.move.title',
[$attachment.name, $escapetool.xml($doc.plainTitle), $doc.getURL()]))
#set($titleToDisplay = $services.localization.render('attachment.move.title', [
$escapetool.xml($attachment.name),
$escapetool.xml($doc.plainTitle),
$escapetool.xml($doc.getURL())
]))
Impact
It's possible to store JavaScript in an attachment name, which will be executed by anyone trying to move the corresponding attachment.
For example, an attachment with name
><img src=1 onerror=alert(1)>.jpg
will execute the alert.Patches
This issue has been patched in XWiki 14.4RC1.
Workarounds
It is possible to fix the vulnerability by copying moveStep1.vm to
webapp/xwiki/templates/moveStep1.vm
and replaceby
See the corresponding patch.
References
For more information
If you have any questions or comments about this advisory: