Researchers have identified more than 30 vulnerabilities across 20 popular content management systems (CMS), including Microsoft SharePoint and Atlassian Confluence.
The research was conducted by Alvaro Muñoz of GitHub and Oleksandr Mirosh of Micro Focus Fortify, and it focused on the security controls implemented by various CMS frameworks and products and methods for bypassing them.
CMSs allow users to create and modify digital content, typically being used for web content management and enterprise content management. CMSs have become increasingly important for many organizations now that the coronavirus pandemic has forced many to work remotely.
Content managed by CMSs is typically stored in a database and displayed to users based on a set of templates. These templates often support a subset of programming language capabilities and they are sandboxed to prevent users from compromising the underlying server.
Muñoz and Mirosh, who presented their findings last week at the Black Hat cybersecurity conference, focused on .NET and Java-based products, and they showed how an unprivileged attacker can escape template sandboxes and achieve remote code execution.
“In the most simple attack scenario, the attacker has access to the target CMS applications such as regular Sharepoint users being able to create their own sites and therefore being able to provide their own templates,” Muñoz explained. “In some cases we were able to get trial accounts on cloud-based CMS platforms and perform the attacks from our own trial admin account. These were the most interesting cases since we were able to compromise the underlying infrastructure which could have allowed us to initiate attacks against other tenants.”
“No matter the vector used, though, the impact is always critical since once the mitigations are bypassed, template engines can be used to evaluate arbitrary code leading to Remote Code Execution (RCE),” the researcher added.
In SharePoint, for instance, they discovered six remote code execution vulnerabilities that have been assigned CVE identifiers. Their analysis of Java template engines such as Apache Velocity and FreeMarker, JinJava and Pebble led to the identification of ways to escape template sandboxes and execute arbitrary code in products such as Atlassian Confluence, Apache OFBiz, XWiki, Liferay, Alfresco, Netflix Titus, Crafter CMS and dotCMS.
Muñoz explained that the methods they used to create or modify templates — this includes XSS and server-side template injection (SSTI) attacks — are not new, and instead their research focused on bypassing sandboxes and mitigations.
The researchers say their work can be useful to developers and security teams who want to protect their products and systems against potential attacks.
Related: Drupal Patches Code Execution Flaw Most Likely to Impact Windows Servers
Related: Microsoft SharePoint Vulnerability Exploited in the Wild