Issues » dotCMS template permissions allow arbitrary code execution

Issue: SI-3
Date: Apr 12, 2012, 8:00:00 PM
Severity: Medium
Requires Admin Access: Yes
Fix Version:
Credit: / Ben Murphy


The dotCMS content management system version 1.9 and possibly earlier versions, contains a vulnerability that allows users with admin access the appropriate permissions to create a malicious template with arbitrary code. An authenticated dotCMS user with the permissions required to author and upload templates may create a malicious XSLT or Velocity template that can execute arbitrary java code. The arbitrary java code will run with the permissions of the web service account.


An authenticated attacker with the permissions to create a template may upload a malicious XSLT or Velocity template that can run arbitrary java code. In some cases, the attacker may be able to exploit this vulnerability to obtain a shell on the web server.


dotCMS version or 2.0.1 and later address these vulnerabilities. If you are unable to upgrade please consider the following workarounds.


Unmap the XSLT Tool in the toolbox.xml file or apply this XSLT Tool which is backported from 2.0 to 1.9

Add to the property: runtime.introspector.uberspect = org.apache.velocity.util.introspection.SecureUberspector