Headline
CVE-2023-29525: XWIKI-20287: Improve migration date display · xwiki/xwiki-platform@6d74e2e
XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. Affected versions of xwiki are subject to code injection in the since
parameter of the /xwiki/bin/view/XWiki/Notifications/Code/LegacyNotificationAdministration
endpoint. This provides an XWiki syntax injection attack via the since-parameter, allowing privilege escalation from view to programming rights and subsequent code execution privilege. The vulnerability has been patched in XWiki 15.0-rc-1, 14.10.3, 14.4.8 and 14.10.3. Users are advised to upgrade. Users unable to upgrade may modify the page XWiki.Notifications.Code.LegacyNotificationAdministration
to add the missing escaping. For versions < 14.6-rc-1 a workaround is to modify the file <xwikiwebapp>/templates/distribution/eventmigration.wiki
to add the missing escaping.
@@ -67,7 +67,7 @@ $services.localization.use('document’, 'XWiki.Notifications.Code.LegacyNotificat <div> <input type="radio" id="mode_since" name="mode" value="since"#if($request.mode == ‘since’)checked#end/> <label for="mode_since">$escapetool.html($services.localization.render(‘legacy.event.migration.since’))</label> <input type="date" id="since" name="since" value="$!request.since" max="$datetool.format('yyyy-MM-dd’, $datetool.date)“/> <input type="date” id="since" name="since"#if($request.since) value="$escapetool.xml($request.since)“#end max="$datetool.format('yyyy-MM-dd’, $datetool.date)“/> </div> <div class="buttons"><span class="buttonwrapper"><input type="submit” value="$escapetool.xml($services.localization.render(‘legacy.event.migration.start’))" name="migrate” class="button"/></span></div> </form>
Related news
### Impact Steps to reproduce: Open <xwiki-host>/xwiki/bin/view/XWiki/Notifications/Code/LegacyNotificationAdministration?since=%7B%7B%2Fhtml%7D%7D+%7B%7Basync+async%3D%22true%22+cached%3D%22false%22+context%3D%22doc.reference%22%7D%7D%7B%7Bgroovy%7D%7Dprintln%28%22Hello+%22+%2B+%22from+groovy%21%22%29%7B%7B%2Fgroovy%7D%7D%7B%7B%2Fasync%7D%7D, where <xwiki-host> is the URL of your XWiki installation. This demonstrates an XWiki syntax injection attack via the since-parameter, allowing privilege escalation from view to programming rights. ### Patches The vulnerability has been patched in XWiki 15.0-rc-1, 14.10.3, 14.4.8 and 14.10.3. ### Workarounds For versions >= 14.6-rc-1 the workaround is to modify the page `XWiki.Notifications.Code.LegacyNotificationAdministration` to add the missing escaping, as described on https://github.com/xwiki/xwiki-platform/commit/8e7c7f90f2ddaf067cb5b83b181af41513028754#diff-4e13f4ee4a42938bf1201b7ee71ca32edeacba22559daf0bcb89d534e0225949R70 For vers...