CVE-2023-29201
Published: 15 April 2023
Summary
CVE-2023-29201 is a critical-severity Cross-site Scripting (CWE-79) vulnerability in Xwiki Xwiki. Its CVSS base score is 9.0 (Critical).
Operationally, ranked in the top 7.1% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
Deeper analysis
The vulnerability is an incomplete input sanitization flaw in the restricted mode of the HTML cleaner component within XWiki Commons, the shared technical libraries used by multiple XWiki projects. Introduced in version 4.2-milestone-1, this mode only escaped script and style tags while permitting script-injecting attributes and other dangerous elements such as iframe, enabling cross-site scripting when the cleaner is relied upon for security.
An attacker can supply malicious HTML through user-controlled content such as comments. When a privileged user possessing programming rights subsequently views the content, the injected JavaScript executes in that user's session context, resulting in server-side code execution with full programming rights and consequent loss of confidentiality, integrity, and availability for the XWiki instance. The attack requires the victim to visit the crafted content and therefore combines low-privileged input with a targeted interaction by a high-privileged account.
Advisories and patches indicate the issue was resolved in XWiki 14.6 RC1 by replacing the prior escaping logic with an explicit allow-list filter that restricts permitted HTML elements and attributes when restricted mode is active. The referenced commits and security advisory GHSA-m3jr-cvhj-f35j document the filter implementation, and the XWiki Jira entries XCOMMONS-1680 and XCOMMONS-2426 track the underlying design change; no workarounds other than upgrading are stated.
EPSS remains flat at a peak and current value of 0.0935 with no material upward trajectory after disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2023-1348
Vulnerability details
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, only escaped `<script>` and `<style>`-tags but neither attributes that can be used to inject…
more
scripts nor other dangerous HTML tags like `<iframe>`. 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.6 RC1 with the introduction of a filter with allowed HTML elements and attributes that is enabled in restricted mode. There are no known workarounds apart from upgrading to a version including the fix.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Penetration testing submits XSS payloads to web applications, detecting cross-site scripting flaws for subsequent remediation.
Validates web inputs to reject script-related content that could produce XSS.
Output validation against expected content can reject or sanitize script content in generated web pages, reducing XSS exploitability.