CVE-2023-29528: Cross-site Scripting in org.xwiki.commons:xwiki-commons-xml
Impact The "restricted" mode of the HTML cleaner in XWiki, introduced in version 4.2-milestone-1 and massively improved in version 14.6-rc-1, allowed the injection of arbitrary HTML code and thus cross-site scripting via invalid HTML comments. As a consequence, any code relying on this "restricted" mode for security is vulnerable to JavaScript injection ("cross-site scripting"/XSS). An example are anonymous comments in XWiki where the HTML macro filters HTML using restricted mode:
html {{html}} <!--> <Details Open OnToggle=confirm("XSS")> {{/html}}
When a privileged user with programming rights visits such a comment in XWiki, the malicious JavaScript code is executed in the context of the user session. This allows server-side code execution with programming rights, impacting the confidentiality, integrity and availability of the XWiki instance.
Note that while all versions since 4.2-milestone-1 should be vulnerable, only starting with version 14.6-rc-1 the HTML comment is necessary for the attack to succeed due to another vulnerability that has been patched in version 14.6-rc-1.
Patches This problem has been patched in XWiki 14.10, HTML comments are now removed in restricted mode and a check has been introduced that ensures that comments don't start with >.
Workarounds There are no known workarounds apart from upgrading to a version including the fix.
References https://jira.xwiki.org/browse/XCOMMONS-2568 https://jira.xwiki.org/browse/XWIKI-20348 https://github.com/xwiki/xwiki-commons/commit/8ff1a9d7e5d7b45b690134a537d53dc05cae04ab
For more information If you have any questions or comments about this advisory: Open an issue in Jira XWiki Email us at XWiki Security mailing-list
Attribution
This vulnerability was reported on Intigriti by ynoof @Ynoof5.
Other sources
XWiki Commons are technical libraries common to several other top level XWiki projects. The "restricted" mode of the HTML cleaner in XWiki, introduced in version 4.2-milestone-1 and massively improved in version 14.6-rc-1, allowed the injection of arbitrary HTML code and thus cross-site scripting via invalid HTML comments. As a consequence, any code relying on this "restricted" mode for security is vulnerable to JavaScript injection ("cross-site scripting"/XSS). When a privileged user with programming rights visits such a comment in XWiki, the malicious JavaScript code is executed in the context of the user session. This allows server-side code execution with programming rights, impacting the confidentiality, integrity and availability of the XWiki instance. This problem has been patched in XWiki 14.10, HTML comments are now removed in restricted mode and a check has been introduced that ensures that comments don't start with >. There are no known workarounds apart from upgrading to a version including the fix.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is CVE-2023-29528?
CVE-2023-29528 is a vulnerability in XWiki Commons, which allows the injection of arbitrary HTML code and thus cross-site scripting.
Which software versions are affected by CVE-2023-29528?
Versions 4.2-milestone-1 to 14.10 of XWiki Commons are affected by CVE-2023-29528.
How severe is CVE-2023-29528?
CVE-2023-29528 is considered critical with a severity score of 9.
How can I fix CVE-2023-29528?
To fix CVE-2023-29528, it is recommended to upgrade XWiki Commons to version 14.6-rc-1 or higher.
Where can I find more information about CVE-2023-29528?
You can find more information about CVE-2023-29528 in the references provided: [GitHub Commit](https://github.com/xwiki/xwiki-commons/commit/8ff1a9d7e5d7b45b690134a537d53dc05cae04ab), [GitHub Advisory](https://github.com/xwiki/xwiki-commons/security/advisories/GHSA-x37v-36wv-6v6h), [XCOMMONS-2568 Jira](https://jira.xwiki.org/browse/XCOMMONS-2568).