-
CVSS Score
-| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| org.apache.struts:struts2-core | maven | < 2.2.1 | 2.2.1 |
The vulnerability stems from how ParametersInterceptor handles parameter names as OGNL expressions. Despite a previous fix (S2-003) that attempted to block '#' characters, attackers bypassed it using Unicode encoding. The intercept() method in ParametersInterceptor processes these parameters and passes them to OGNL's setValue, which evaluates the expressions. The OgnlUtil.setValue method lacks sufficient safeguards against context object manipulation (e.g., modifying #_memberAccess to enable static method execution). The combination of these functions' behavior allowed attackers to inject malicious OGNL expressions, as confirmed by exploit details and the CVE description.
A Semantic Attack on Google Gemini - Read the Latest Research