Critical severityNVD Advisory· Published Apr 18, 2023· Updated Feb 5, 2025
Code injection in template provider administration in xwiki-platform
CVE-2023-29514
Description
XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. Any user with edit rights on any document (e.g., their own user profile) can execute code with programming rights, leading to remote code execution. This vulnerability has been patched in XWiki 13.10.11, 14.4.8, 14.10.1 and 15.0 RC1. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
org.xwiki.platform.applications:xwiki-application-administrationMaven | >= 1.35, <= 1.49 | — |
org.xwiki.platform:xwiki-platform-administrationMaven | >= 3.1-milestone-1 | — |
org.xwiki.platform:xwiki-platform-administration-uiMaven | >= 4.2-milestone-1, < 13.10.11 | 13.10.11 |
org.xwiki.platform:xwiki-platform-administration-uiMaven | >= 14.0-rc-1, < 14.4.8 | 14.4.8 |
org.xwiki.platform:xwiki-platform-administration-uiMaven | >= 14.5, < 14.10.1 | 14.10.1 |
Affected products
1- Range: < 13.10.11
Patches
17bf7094f8ffaXWIKI-20268: Improve escaping in AdminTemplatesSheet
2 files changed · +25 −1
xwiki-platform-core/xwiki-platform-administration/xwiki-platform-administration-test/xwiki-platform-administration-test-docker/src/test/it/org/xwiki/administration/test/ui/PageTemplatesIT.java+24 −0 modified@@ -25,6 +25,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; +import org.openqa.selenium.WebElement; import org.xwiki.administration.test.po.TemplateProviderInlinePage; import org.xwiki.administration.test.po.TemplatesAdministrationSectionPage; import org.xwiki.model.reference.DocumentReference; @@ -358,6 +359,29 @@ void createPageFromForbiddenTemplate(TestUtils setup, TestReference testReferenc assertEquals("Some content in that page", viewPage.getContent()); } + /** + * The goal of this test is to check that the template provider's title is correctly escaped. + */ + @Test + @Order(5) + void templateProviderTitleEscaping(TestUtils setup, TestReference testReference) throws Exception + { + cleanUp(setup, testReference); + + // Create a template + String templateContent = "Templates are fun"; + String providerName = "{{html}}<span>HTML</span>{{/html}}"; + LocalDocumentReference templateProviderReference = new LocalDocumentReference(providerName, + testReference.getLocalDocumentReference().getParent()); + createTemplateAndTemplateProvider(setup, templateProviderReference, templateContent, + "Funny templates", true); + + TemplatesAdministrationSectionPage adminPage = TemplatesAdministrationSectionPage.gotoPage(); + List<WebElement> links = adminPage.getExistingTemplatesLinks(); + assertFalse(links.stream().anyMatch(element -> element.getText().equals("HTML"))); + assertTrue(links.stream().anyMatch(element -> providerName.equals(element.getText()))); + } + /** * Helper function to Create both a Template and a Template Provider for the tests in this class. */
xwiki-platform-core/xwiki-platform-administration/xwiki-platform-administration-ui/src/main/resources/XWiki/AdminTemplatesSheet.xml+1 −1 modified@@ -112,7 +112,7 @@ == {{translation key="admin.templates.providerslist"/}} == #foreach($providerFullname in $availableProviders) - * [[$services.rendering.escape($xwiki.getDocument($providerFullname).plainTitle, $xwiki.currentContentSyntaxId)>>$providerFullname]] + * [[$services.rendering.escape($services.rendering.escape($xwiki.getDocument($providerFullname).plainTitle, $xwiki.currentContentSyntaxId), $xwiki.currentContentSyntaxId)>>$services.rendering.escape($providerFullname, $xwiki.currentContentSyntaxId)]] #end ))) #end
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- github.com/advisories/GHSA-9j36-3cp4-rh4jghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2023-29514ghsaADVISORY
- github.com/xwiki/xwiki-platform/commit/7bf7094f8ffac095f5d66809af7554c9cc44de09ghsax_refsource_MISCWEB
- github.com/xwiki/xwiki-platform/security/advisories/GHSA-9j36-3cp4-rh4jghsax_refsource_CONFIRMWEB
- jira.xwiki.org/browse/XWIKI-20268ghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.