CVE-2023-36468: Upgrading doesn't prevent exploiting vulnerable XWiki documents
Impact
When an XWiki installation is upgraded and that upgrade contains a fix for a bug in a document, just a new version of that document is added. In some cases, it's still possible to exploit the vulnerability that was fixed in the new version. The severity of this depends on the fixed vulnerability, for the purpose of this advisory take CVE-2022-36100 as example - it is easily exploitable with just view rights and critical. When XWiki is upgraded from a version before the fix for it (e.g., 14.3) to a version including the fix (e.g., 14.4), the vulnerability can still be reproduced by adding rev=1.1 to the URL used in the reproduction steps so remote code execution is possible even after upgrading. Therefore, this affects the confidentiality, integrity and availability of the whole XWiki installation. This vulnerability also affects manually added script macros that contained security vulnerabilities that were later fixed by changing the script macro without deleting the versions with the security vulnerability from the history.
This vulnerability doesn't affect freshly installed versions of XWiki. Further, this vulnerability doesn't affect content that is only loaded from the current version of a document like the code of wiki macros or UI extensions.
Patches
This vulnerability has been patched in XWiki 14.10.7 and 15.2RC1 by forcing old revisions to be executed in a restricted mode that disables all script macros.
Workarounds
As a workaround, admins can manually delete old revisions of affected documents. A script could be used to identify all installed documents and delete the history for them. However, also manually added and later corrected code may be affected by this vulnerability so it is easy to miss documents.
References
https://jira.xwiki.org/browse/XWIKI-20594 https://github.com/xwiki/xwiki-platform/commit/15a6f845d8206b0ae97f37aa092ca43d4f9d6e59
Other sources
XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. When an XWiki installation is upgraded and that upgrade contains a fix for a bug in a document, just a new version of that document is added. In some cases, it's still possible to exploit the vulnerability that was fixed in the new version. The severity of this depends on the fixed vulnerability, for the purpose of this advisory take CVE-2022-36100/GHSA-2g5c-228j-p52x as example - it is easily exploitable with just view rights and critical. When XWiki is upgraded from a version before the fix for it (e.g., 14.3) to a version including the fix (e.g., 14.4), the vulnerability can still be reproduced by adding rev=1.1 to the URL used in the reproduction steps so remote code execution is possible even after upgrading. Therefore, this affects the confidentiality, integrity and availability of the whole XWiki installation. This vulnerability also affects manually added script macros that contained security vulnerabilities that were later fixed by changing the script macro without deleting the versions with the security vulnerability from the history. This vulnerability doesn't affect freshly installed versions of XWiki. Further, this vulnerability doesn't affect content that is only loaded from the current version of a document like the code of wiki macros or UI extensions. This vulnerability has been patched in XWiki 14.10.7 and 15.2RC1 by forcing old revisions to be executed in a restricted mode that disables all script macros. As a workaround, admins can manually delete old revisions of affected documents. A script could be used to identify all installed documents and delete the history for them. However, also manually added and later corrected code may be affected by this vulnerability so it is easy to miss documents.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/org.xwiki.platform:xwiki-platform-oldcoreto a version that resolves this vulnerability.Fixed in 15.2-rc-1 - Upgrade
Upgrade
maven/org.xwiki.platform:xwiki-platform-oldcoreto a version that resolves this vulnerability.Fixed in 14.10.7 - Upgrade
Upgrade
XWikito a version that resolves this vulnerability.Fixed in 14.10.7 - Upgrade
Upgrade
XWikito a version that resolves this vulnerability.Fixed in 15.2RC1 - Configuration
After upgrading to a patched XWiki version (14.10.7 or 15.2RC1), ensure old revisions are executed in restricted mode that disables all script macros.
XWiki (document revision execution mode) restricted mode for old revisions = disabled all script macros - Operational
Manually delete old revisions of affected documents (history cleanup), since admins can work around by deleting old revisions when needed; note that manually added and later corrected code/script macros may still be affected if their vulnerable versions remain in document history.
Event History
Frequently Asked Questions
What is CVE-2023-36468?
CVE-2023-36468 is a vulnerability in XWiki Platform, a generic wiki platform, that allows for exploitation of a bug in a document during an upgrade process.
What is the severity of CVE-2023-36468?
CVE-2023-36468 has a severity level of critical (8.8).
Which software versions are affected by CVE-2023-36468?
CVE-2023-36468 affects XWiki versions between 2.0 to 14.10.7, version 15.0, version 15.0-rc1, and version 15.1.
How can CVE-2023-36468 be exploited?
CVE-2023-36468 can be exploited by taking advantage of a bug in a document during the upgrade process of XWiki.
Where can I find more information about CVE-2023-36468?
You can find more information about CVE-2023-36468 on the official GitHub repository of XWiki Platform, including the fix commit and security advisories.