Velocity execution without script rights in Xwiki platform
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · Low · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-862.
Summary
XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. It is possible in XWiki to execute Velocity code without having script right by creating an XClass with a property of type "TextArea" and content type "VelocityCode" or "VelocityWiki". For the former, the syntax of the document needs to be set the `xwiki/1.0` (this syntax doesn't need to be installed). In both cases, when adding the property to an object, the Velocity code is executed regardless of the rights of the author of the property (edit right is still required, though). In both cases, the code is executed with the correct context author so no privileged APIs can be accessed. However, Velocity still grants access to otherwise inaccessible data and APIs that could allow further privilege escalation. At least for "VelocityCode", this behavior is most likely very old but only since XWiki 7.2, script right is a separate right, before that version all users were allowed to execute Velocity and thus this was expected and not a security issue. This has been patched in XWiki 14.10.10 and 15.4 RC1. Users are advised to upgrade. There are no known workarounds.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| XWiki | xwiki-platform | 7.2 to before 14.10.10; 15.0-rc-1 to before 15.4-rc-1 | 14.10.10, 15.4-rc-1 | Patch available | CNA |
| — | org.xwiki.platform:xwiki-platform-oldcore (Maven) | 7.2 to before 14.10.10 | 14.10.10 | Patch available | GHSA-m5m2-h6h9-p2c8 |
| — | org.xwiki.platform:xwiki-platform-oldcore (Maven) | 15.0-rc-1 to before 15.4-rc-1 | 15.4-rc-1 | Patch available | GHSA-m5m2-h6h9-p2c8 |
- xwiki-platform VendorXWiki Affected 7.2 to before 14.10.10; 15.0-rc-1 to before 15.4-rc-1 Fixed in 14.10.10, 15.4-rc-1 Patch available CNA
- org.xwiki.platform:xwiki-platform-oldcore (Maven) Vendor— Affected 7.2 to before 14.10.10 Fixed in 14.10.10 Patch available GHSA-m5m2-h6h9-p2c8
- org.xwiki.platform:xwiki-platform-oldcore (Maven) Vendor— Affected 15.0-rc-1 to before 15.4-rc-1 Fixed in 15.4-rc-1 Patch available GHSA-m5m2-h6h9-p2c8
Remediation
- Fix · CNA xwiki-platform (xwiki) Fixed in 14.10.10, 15.4-rc-1
- Fix · GHSA-m5m2-h6h9-p2c8 org.xwiki.platform:xwiki-platform-oldcore (Maven) Fixed in 14.10.10 Advisory →
- Fix · GHSA-m5m2-h6h9-p2c8 org.xwiki.platform:xwiki-platform-oldcore (Maven) Fixed in 15.4-rc-1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2023-41046
- 2026-10-03 Alias added: GHSA-m5m2-h6h9-p2c8
References
Patch 2
Advisory 3
More Xwiki vulnerabilities
- TI-2025-18595 Remote code execution as guest via SolrSearchMacros request in xwiki KEVCVSS 3.1CRITICAL 9.8
- TI-2023-25214 Remote code execution through the section parameter in Administration as guest in XWiki Platform CVSS 3.1CRITICAL 10.0
- TI-2025-23500 XWiki Platform vulnerable to SQL injection through getdeleteddocuments.vm template sort parameter CVSS 4.0CRITICAL 9.3
- TI-2025-23979 org.xwiki.platform:xwiki-platform-rest-server allows SQL injection in query endpoint of REST API CVSS 4.0CRITICAL 9.3
- TI-2024-20829 XWiki Platform: Remote code execution from account via SearchSuggestSourceSheet CVSS 3.1CRITICAL 10.0
- TI-2024-14375 XWiki Remote Code Execution vulnerability via user registration CVSS 3.1CRITICAL 10.0
Sources
- CVE-2023-41046 · CVE Program
- CVE-2023-41046 · NVD
- FIRST EPSS
- GHSA-m5m2-h6h9-p2c8 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences