Apache Struts 2 DefaultActionMapper Prefixes OGNL Code Execution

  • The Struts 2 DefaultActionMapper supports a method for short-circuit navigation state changes by prefixing parameters with "action:" or "redirect:", followed by a desired navigational target expression. This mechanism was intended to help with attaching navigational information to buttons within forms.

    In Struts 2 before the information following "action:", "redirect:" or "redirectAction:" is not properly sanitized. Since said information will be evaluated as OGNL expression against the value stack, this introduces the possibility to inject server side code.

    Affected Software:
    Struts 2.0.0 - Struts 2.3.15
  • Developers should immediately upgrade to Struts