Vulnerability Note VU#898083

dotCMS template permissions allow arbitrary code execution

Original Release date: 25 May 2012 | Last revised: 25 May 2012


The dotCMS content management system version 1.9 and possibly earlier versions, contains a vulnerability that allows users with 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.


Apply an Update

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

Vendor Information (Learn More)

VendorStatusDate NotifiedDate Updated
dotCMSAffected13 Apr 201201 May 2012
If you are a vendor and your product is affected, let us know.

CVSS Metrics (Learn More)

Group Score Vector
Base 8.5 AV:N/AC:M/Au:S/C:C/I:C/A:C
Temporal 6.9 E:POC/RL:U/RC:UC
Environmental 6.9 CDP:ND/TD:ND/CR:ND/IR:ND/AR:ND



Thanks to Ben Murphy for reporting this vulnerability.

This document was written by Jared Allar.

Other Information

  • CVE IDs: CVE-2012-1826
  • Date Public: 25 May 2012
  • Date First Published: 25 May 2012
  • Date Last Updated: 25 May 2012
  • Document Revision: 25


If you have feedback, comments, or additional information about this vulnerability, please send us email.