Vulnerability · Published Apr 10, 2024 · Assigned by GitHub_M
CVE-2024-31996XWiki Commons missing escaping of `{` in Velocity escapetool allows remote code execution
Critical 10.0
In plain English
A critical-severity security flaw in xwiki-commons from xwiki. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 2.1% (higher than 82% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
XWiki Platform is a generic wiki platform. Starting in version 3.0.1 and prior to versions 4.10.19, 15.5.4, and 15.10-rc-1, the HTML escaping of escaping tool that is used in XWiki doesn't escape `{`, which, when used in certain places, allows XWiki syntax injection and thereby remote code execution. The vulnerability has been fixed in XWiki 14.10.19, 15.5.5, and 15.9 RC1. Apart from upgrading, there is no generic workaround. However, replacing `$escapetool.html` by `$escapetool.xml` in XWiki documents fixes the vulnerability. In a standard XWiki installation, the maintainers are only aware of the document `Panels.PanelLayoutUpdate` that exposes this vulnerability, patching this document is thus a workaround. Any extension could expose this vulnerability and might thus require patching, too.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Maven | org.xwiki.commons:xwiki-commons-velocity | 14.10.19 | GHSA-hf43-47q4-fhq5 |
| Maven | org.xwiki.commons:xwiki-commons-velocity | 15.5.4 | GHSA-hf43-47q4-fhq5 |
| Maven | org.xwiki.commons:xwiki-commons-velocity | 15.9-rc-1 | GHSA-hf43-47q4-fhq5 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| xwiki | xwiki-commons | >= 3.0.1, < 14.10.19>= 15.0-rc-1, < 15.5.4>= 15.6-rc-1, < 15.9-rc-1 |
Weakness: CWE-95 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
References
- https://github.com/xwiki/xwiki-commons/security/advisories/GHSA-hf43-47q4-fhq5 x_refsource_CONFIRM
- https://github.com/xwiki/xwiki-commons/commit/b0805160ec7b01ee12417e79cb384e60ae4817aa x_refsource_MISC
- https://github.com/xwiki/xwiki-commons/commit/b94142e2a66ec32e89eacab67c3da8d91f5ef93a x_refsource_MISC
- https://github.com/xwiki/xwiki-commons/commit/ed7ff515a2436a1c6dcbd0c6ca0c41e434d58915 x_refsource_MISC
- https://jira.xwiki.org/browse/XCOMMONS-2828 x_refsource_MISC
- https://jira.xwiki.org/browse/XWIKI-21438 x_refsource_MISC