Multiple critical vulnerabilities in Apache Struts2
SEC Consult Vulnerability Lab discovered multiple critical vulnerabilities in Apache Struts2 that allow attackers to bypass the mentioned security restrictions and execute arbitrary methods and access context variables. To prevent attackers calling arbitrary methods within parameters the flag “xwork.MethodAccessor.denyMethodExecution” is set to “true” and the SecurityMemberAccess field “allowStaticMethodAccess” is set to “false” by default. Also, to prevent access to context variables an improved character whitelist for paramteter names is applied in the ParametersInterceptor. SEC Consult Vulnerability Lab discovered a way to bypass these security restrictions by providing a parameter like “product.id=1” the OGNL parser will call the appropiate setter getProduct().setId(1) in the current action context.