Arbitrary file access through XML parsing in org.xwiki.commons:xwiki-commons-xml
Date: 2022-04
Affected: maven/org.xwiki.commons:xwiki-commons-xml, maven/org.xwiki.commons:xwiki-commons-xml, maven/org.xwiki.commons:xwiki-commons-xml
Attack vector: other
Category: vulnerability-disclosure
Severity: Medium
CVE: CVE-2022-24898
CWE: CWE-611
CVSS: 4.9 (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N)

### Impact It's possible in a script to access any file accessing to the user running XWiki application server with XML External Entity Injection through the XML script service. For example: ``` {{velocity}} #set($xml=$services.get('xml')) #set($xxe_payload = "<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE root[<!ENTITY xxe SYSTEM 'file:///etc/passwd' >]><root><foo>&xxe;</foo></root>") #set($doc=$xml.parse($xxe_payload)) $xml.serialize($doc) {{/velocity}} ``` ### Patches The problem has been patched on versions 12.10.10, 13.4.4 and 13.8RC1. ### Workarounds There's no easy workaround for fixing this vulnerability other than upgrading and being careful when giving Script rights. ### References https://jira.xwiki.org/browse/XWIKI-18946 ### For more information If you have any questions or comments about this advisory: * Open an issue in [Jira XWiki](https://jira.xwiki.org) * Email us at [XWiki Security mailing-list](mailto:security@xwiki.org)


Mitigations:

Architectural layers (MAESTRO):