Vulnerability: Cross-site Scripting in the Flamingo theme manager ### Impact
We found a possible XSS vector in the `FlamingoThemesCode.WebHomeSheet` wiki page related to the "newThemeName" form field.

### Patches

The issue is patched in versions 12.10.11, 14.0-rc-1, 13.4.7, 13.10.3.

### Workarounds
The easiest workaround is to edit the wiki page `FlamingoThemesCode.WebHomeSheet` (with wiki editor) and change the line

```
<input type="hidden" name="newThemeName" id="newThemeName" value="$request.newThemeName" />
```

into

```
<input type="hidden" name="newThemeName" id="newThemeName" value="$escapetool.xml($request.newThemeName)" />
```

### References
  * https://jira.xwiki.org/browse/XWIKI-19294
  * https://github.com/xwiki/xwiki-platform/commit/bd935320bee3c27cf7548351b1d0f935f116d437

### For more information
If you have any questions or comments about this advisory:
* Open an issue in [Jira XWiki](https://jira.xwiki.org)
* Email us at [security mailing list](mailto:security@xwiki.org)
Vulnerability ID: GHSA-vmhh-xh3g-j992
CWE: CWE-79
Severity score: 7.4
Project: https://github.com/xwiki/xwiki-platform
Published: 2022-05-25
File: xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-theme/xwiki-platform-flamingo-theme-ui/src/main/resources/FlamingoThemesCode/WebHomeSheet.xml
Commit message: XWIKI-19294: Fix bad escaping
Commit author: Thomas Mortagne

Vulnerable version (before fix):
       &lt;form action="$doc.getURL()" method="post"&gt;         &lt;input type="hidden" name="form_token" value="$services.csrf.token" /&gt;         &lt;input type="hidden" name="action" value="create"/&gt;         &lt;input type="hidden" name="newThemeName" id="newThemeName" value="$request.newThemeName" /&gt;         &lt;input type="submit" value="$services.localization.render('platform.flamingo.themes.home.create.confirm')" class="button"/&gt;       &lt;/form&gt;     {{/html}}

Fixed version (after fix):
       &lt;form action="$doc.getURL()" method="post"&gt;         &lt;input type="hidden" name="form_token" value="$services.csrf.token" /&gt;         &lt;input type="hidden" name="action" value="create"/&gt;         &lt;input type="hidden" name="newThemeName" id="newThemeName" value="$escapetool.xml($request.newThemeName)" /&gt;         &lt;input type="submit" value="$services.localization.render('platform.flamingo.themes.home.create.confirm')" class="button"/&gt;       &lt;/form&gt;     {{/html}}

Patch:
patch: @@ -287,7 +287,7 @@
       &lt;form action="$doc.getURL()" method="post"&gt;
         &lt;input type="hidden" name="form_token" value="$services.csrf.token" /&gt;
         &lt;input type="hidden" name="action" value="create"/&gt;
-        &lt;input type="hidden" name="newThemeName" id="newThemeName" value="$request.newThemeName" /&gt;
+        &lt;input type="hidden" name="newThemeName" id="newThemeName" value="$escapetool.xml($request.newThemeName)" /&gt;
         &lt;input type="submit" value="$services.localization.render('platform.flamingo.themes.home.create.confirm')" class="button"/&gt;
       &lt;/form&gt;
     {{/html}}
path: xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-theme/xwiki-platform-flamingo-theme-ui/src/main/resources/FlamingoThemesCode/WebHomeSheet.xml