CVE-2023-37462 is a critical-severity (CVSS 9.9) CWE-74 vulnerability in org.xwiki.platform:xwiki-platform-skin-ui. 2 public exploit references exist, so weaponization risk is real. A fix is available for org.xwiki.platform:xwiki-platform-skin-ui — see the affected versions and patch details below.
Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') in org.xwiki.platform:xwiki-platform-skin-ui
Exploitation Status
Proof-of-concept exploit code exists
- CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
- A successful exploit gives an attacker total control of the affected component, not partial access.
Exploitation and automatability from CISA’s SSVC triage for CVE-2023-37462.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
CVE-2023-37462 by exploitation likelihood (EPSS) against impact (CVSS). In the shaded patch-first corner (EPSS 50%+, CVSS 7.0+).
Where this sits among everything scored
Of 394,415 CVEs with a current EPSS score, this one falls in the ≥ 90% band (highlighted). Counts from FIRST.org, log-scaled.
Real-World Exposure
org.xwiki.platform:xwiki-platform-skin-ui☕org.xwiki.platform:xwiki-platform-skin-uiReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
Impact
Improper escaping in the document SkinsCode.XWikiSkinsSheet leads to a possible privilege escalation from view right on that document to programming rights, or in other words, it is possible to execute arbitrary script macros including Groovy and Python macros that allow remote code execution including unrestricted read and write access to all wiki contents.
The attack works by opening a non-existing page with a name crafted to contain a dangerous payload.
It is possible to check if an existing installation is vulnerable by opening <xwiki-host>/xwiki/bin/view/%22%5D%5D%20%7B%7Basync%20async%3D%22true%22%20cached%3D%22false%22%20context%3D%22doc.reference%22%7D%7D%7B%7Bgroovy%7D%7Dprintln(%22Hello%20%22%20%2B%20%22from%20groovy!%22)%7B%7B%2Fgroovy%7D%7D%7B%7B%2Fasync%7D%7D?sheet=SkinsCode.XWikiSkinsSheet&xpage=view where <xwiki-host is the URL of the XWiki installation. The expected result are two list items with "Edit this skin" and "Test this skin" without any further text. If the installation is vulnerable, the second list item is "Test this skin Hello from groovy!.WebHome"]]". This shows that the Groovy macro has been executed.
Patches
This has been patched in XWiki 14.4.8, 14.10.4 and 15.0-rc-1.
Workarounds
The fix can also be applied manually to the impacted document SkinsCode.XWikiSkinsSheet.
References
- https://jira.xwiki.org/browse/XWIKI-20457
- https://github.com/xwiki/xwiki-platform/commit/d9c88ddc4c0c78fa534bd33237e95dea66003d29
For more information
If you have any questions or comments about this advisory:
- Open an issue in Jira XWiki.org
- Email us at Security Mailing List
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.xwiki.platform:xwiki-platform-skin-ui | ≥ 7.0-rc-1&&< 14.4.8 | 14.4.8org.xwiki.platform:xwiki-platform-skin-ui:14.4.8 |
| ☕Maven | org.xwiki.platform:xwiki-platform-skin-ui | ≥ 14.5&&< 14.10.4 | 14.10.4org.xwiki.platform:xwiki-platform-skin-ui:14.10.4 |
Affected Products
xwikixwikiResearch use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.xwiki.platform:xwiki-platform-skin-ui, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.xwiki.platform:xwiki-platform-skin-ui to 14.4.8 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2023-37462 is resolved across your whole dependency graph.
Workarounds
Close the privilege gap rather than the entry point: audit which accounts, roles and service identities can reach the affected operation, drop the component to the least privilege it actually needs, and review file and directory permissions created by earlier installs — a default left in place is what makes this reachable.
How to detect CVE-2023-37462
A community-maintained Nuclei template exists for this CVE. You can scan for it directly:
nuclei -id cve-2023-37462 -u https://target- Template
- XWiki Platform - Remote Code Execution
- Severity
- high
- Impact
- Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
- Remediation
- This issue has been patched in XWiki 14.4.8, 14.10.4 and 15.0-rc-1. Users are advised to upgrade.
Template by ProjectDiscovery nuclei-templates (parthmalhotra, pdresearch), MIT licensed. View the full template. Scan only systems you are authorised to test.
Frequently Asked Questions
Is CVE-2023-37462 in your dependencies?
Find it across Maven, including transitive dependencies.