Critical

Code injection via unescaped translations in xwiki-platform

  • Disclosed: 19.04.2023
  • Updated: 11.10.2026 13:19

Impact

In XWiki, every user can add translations that are only applied to the current user. This also allows overriding existing translations. Such translations are often included in privileged contexts without any escaping which allows remote code execution for any user who has edit access on at least one document which could be the user's own profile where edit access is enabled by default.

The following describes a proof of concept exploit to demonstrate this vulnerability:

  1. Edit the user profile with the wiki editor and set the content to
error={{/html}} {{async async="true" cached="false" context="doc.reference"}}{{groovy}}println("hello from groovy!"){{/groovy}}{{/async}}
  1. Use the object editor to add an object of type XWiki.TranslationDocumentClass with scope USER.
  2. Open the document WikiManager.AdminWikiDescriptorSheet.

The expected result would be that a message with title {{/html}} {{async async="true" cached="false" context="doc.reference"}}{{groovy}}println("hello from groovy!"){{/groovy}}{{/async}} is displayed while in fact an error that the HTML macro couldn't be executed is displayed, followed by the text "hello from groovy!" and some raw HTML, showing that the Groovy macro has been executed.

Patches

A mitigation for this vulnerability is part of XWiki 14.10.2 and XWiki 15.0 RC1: translations with user scope now require script right. This means that regular users cannot exploit this anymore as users don't have script right by default anymore starting with XWiki 14.10.

Workarounds

There are no known workarounds apart from upgrading to a patched versions.

References

For more information

If you have any questions or comments about this advisory:

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Java / Kotlin (Maven) org.xwiki.platform:xwiki-platform-administration-ui >= 4.3-milestone-2, < 14.10.2 14.10.2

References

CVSS score 9.9/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Weakness (CWE)
CWE-74
Platform
Java / Kotlin (Maven)
Package
org.xwiki.platform:xwiki-platform-administration-ui
Disclosed
19.04.2023
Updated
11.10.2026 13:19

Sources and licenses

OSV / GitHub Advisory Database - GHSA-4v38-964c-xjmw - CC BY 4.0

Vulnerability history: org.xwiki.platform:xwiki-platform-administration-ui

All published vulnerabilities of this package (Java / Kotlin (Maven)), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (11) in the archive
Total entries
11
First → latest
07.2021 12.2024
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • Critical 8
  • High 2
  • Medium 1

Disclosures per year

  1. 2021: 1
  2. 2022: 2
  3. 2023: 6
  4. 2024: 2
  5. 2025: 0
  6. 2026: 0
Severity:
  1. Critical · 9.1 CVE-2024-55879 >= 2.3, < 15.10.9, >= 16.0.0-rc-1, < 16.3.0 15.10.9, 16.3.0
  2. Critical · 10.0 CVE-2024-21650 >= 2.2, < 14.10.17, >= 15.0-rc-1, < 15.5.3, >= 15.6-rc-1, < 15.8-rc-1 14.10.17, 15.5.3, 15.8-rc-1
  3. Critical · 9.9 CVE-2023-50723 >= 2.3, < 14.10.15, >= 15.0-rc-1, < 15.5.2, >= 15.6-rc-1, < 15.7-rc-1 14.10.15, 15.5.2, 15.7-rc-1
  4. Critical · 9.6 CVE-2023-50722 >= 2.3, < 14.10.15, >= 15.0-rc-1, < 15.5.2, >= 15.6-rc-1, < 15.7-rc-1 14.10.15, 15.5.2, 15.7-rc-1
  5. Critical · 10.0 CVE-2023-46731 < 14.10.14, >= 15.0-rc-1, < 15.5.1 14.10.14, 15.5.1
  6. Critical · 9.9 CVE-2023-29514 >= 4.2-milestone-1, < 13.10.11, >= 14.0-rc-1, < 14.4.8, >= 14.5, < 14.10.1 13.10.11, 14.4.8, 14.10.1
  7. Code injection via unescaped translations in xwiki-platform this entry
    Critical · 9.9 CVE-2023-29510 >= 4.3-milestone-2, < 14.10.2 14.10.2
  8. Critical · 9.9 CVE-2023-29511 >= 1.5M2, < 13.10.11, >= 14.0-rc-1, < 14.4.8, >= 14.5, < 14.10.1 13.10.11, 14.4.8, 14.10.1
  9. High · 7.5 CVE-2021-32732 < 12.10.5, >= 13.0, < 13.2RC1 12.10.5, 13.2RC1
  10. High · 8.8 CVE-2022-23616 >= 3.1-milestone-1, < 13.1RC1 13.1RC1

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.