GitHub Advisoryadvisory · Maven

GHSA-2r87-74cx-2p7c XWiki allows remote code execution from account through macro descriptions and XWiki.XWikiSyntaxMacrosList

CRITICAL Published 2024-12-12 Modified 2024-12-12 Official page ↗
Aliases
CVE-2024-55877
Ecosystem
Maven
Packages
org.xwiki.platform:xwiki-platform-help-ui
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Weaknesses
CWE-94, CWE-96
Reviewed
2024-12-12

Affected packages

• Maven org.xwiki.platform:xwiki-platform-help-ui: >= 9.7-rc-1, < 15.10.11 → fixed in 15.10.11 • Maven org.xwiki.platform:xwiki-platform-help-ui: >= 16.0.0-rc-1, < 16.4.1 → fixed in 16.4.1 • Maven org.xwiki.platform:xwiki-platform-help-ui: >= 16.5.0-rc-1, < 16.5.0 → fixed in 16.5.0

Description

Impact Any user with an account can perform arbitrary remote code execution by adding instances of `XWiki.WikiMacroClass` to any page. This compromises the confidentiality, integrity and availability of the whole XWiki installation. To reproduce on a instance, as a connected user without script nor programming rights, go to your user profile and add an object of type `XWiki.WikiMacroClass`. Set "Macro Id", "Macro Name" and "Macro Code" to any value, "Macro Visibility" to `Current User` and "Macro Description" to `{{async}}{{groovy}}println("Hello from User macro!"){{/groovy}}{{/async}}`. Save the page, then go to `/xwiki/bin/view/XWiki/XWikiSyntaxMacrosList`. If the description of your new macro reads "Hello from User macro!", then your instance is vulnerable. Patches This vulnerability has been fixed in XWiki 15.10.11, 16.4.1 and 16.5.0. Workarounds It is possible to manually apply this patch to the page `XWiki.XWikiSyntaxMacrosList`. References • https://jira.xwiki.org/browse/XWIKI-22030 • https://github.com/xwiki/xwiki-platform/commit/40e1afe001d61eafdf13f3621b4b597a0e58a3e3

Related

Alias · CVE (1)

  • CVE-2024-55877 XWiki Platform is a generic wiki platform. vulnerability

Weakness · CWE (2)

  • CWE-94 Improper Control of Generation of Code weakness
  • CWE-96 Improper Neutralization of Directives in Statically Saved Code weakness

References