Headline
CVE-2023-37912: Privilege escalation via the footnote macro
XWiki Rendering is a generic Rendering system that converts textual input in a given syntax into another syntax. Prior to version 14.10.6 of org.xwiki.platform:xwiki-core-rendering-macro-footnotes
and org.xwiki.platform:xwiki-rendering-macro-footnotes
and prior to version 15.1-rc-1 of org.xwiki.platform:xwiki-rendering-macro-footnotes
, the footnote macro executed its content in a potentially different context than the one in which it was defined. In particular in combination with the include macro, this allows privilege escalation from a simple user account in XWiki to programming rights and thus remote code execution, impacting the confidentiality, integrity and availability of the whole XWiki installation. This vulnerability has been patched in XWiki 14.10.6 and 15.1-rc-1. There is no workaround apart from upgrading to a fixed version of the footnote macro.
Impact
The footnote macro executed its content in a potentially different context than the one in which it was defined. In particular in combination with the include macro, this allows privilege escalation from a simple user account in XWiki to programming rights and thus remote code execution, impacting the confidentiality, integrity and availability of the whole XWiki installation.
To reproduce, perform the following steps:
- Edit your user profile with the object editor and add an object of type DocumentSheetBinding with value XWiki.ClassSheet
- Edit your user profile with the wiki editor and add the syntax {{footnote}}{{groovy}}println("Hello " + “from groovy!”){{/groovy}}{{/footnote}}
When the text “Hello from groovy!” is displayed at the bottom of the document, the installation is vulnerable. Instead, an error should be displayed.
Patches
This vulnerability has been patched in XWiki 14.10.6 and 15.1-rc-1.
Workarounds
There is no workaround apart from upgrading to a fixed version of the footnote macro.
References
- https://jira.xwiki.org/browse/XRENDERING-688
- 5f558b8
Related news
### Impact The footnote macro executed its content in a potentially different context than the one in which it was defined. In particular in combination with the include macro, this allows privilege escalation from a simple user account in XWiki to programming rights and thus remote code execution, impacting the confidentiality, integrity and availability of the whole XWiki installation. To reproduce, perform the following steps: 1. Edit your user profile with the object editor and add an object of type DocumentSheetBinding with value XWiki.ClassSheet 2. Edit your user profile with the wiki editor and add the syntax `{{footnote}}{{groovy}}println("Hello " + "from groovy!"){{/groovy}}{{/footnote}}` When the text "Hello from groovy!" is displayed at the bottom of the document, the installation is vulnerable. Instead, an error should be displayed. ### Patches This vulnerability has been patched in XWiki 14.10.6 and 15.1-rc-1. ### Workarounds There is no workaround apart from upgradi...