Miggo Logo

CVE-2012-0838: Apache Struts Code injection due to conversion error

N/A

CVSS Score

Basic Information

EPSS Score
0.98446%
Published
5/14/2022
Updated
12/27/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
-
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.apache.struts:struts2-coremaven< 2.2.3.12.2.3.1
org.apache.struts.xwork:xwork-coremaven< 2.2.3.12.2.3.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper handling of user input during conversion errors. Key vulnerable functions were identified by:

  1. The patch replacing unsafe string concatenation with escaping in getOverrideExpr methods (CVE-2012-0838's root cause)
  2. Modifications to RepopulateConversionErrorFieldValidatorSupport showing previous direct OGNL expression construction
  3. Test cases demonstrating malicious OGNL payload injection via conversion errors
  4. Commit messages explicitly referencing WW-3668/S2-007 security fixes All identified functions directly processed user input without adequate escaping before embedding in OGNL expressions, meeting CWE-20 criteria.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

*p**** Struts * ***or* *.*.*.* *v*lu*t*s * strin* *s *n O*NL *xpr*ssion *urin* t** **n*lin* o* * *onv*rsion *rror, w*i** *llows r*mot* *tt**k*rs to mo*i*y run-tim* **t* v*lu*s, *n* *ons*qu*ntly *x**ut* *r*itr*ry *o**, vi* inv*li* input to * *i*l*.

Reasoning

T** vuln*r**ility st*ms *rom improp*r **n*lin* o* us*r input *urin* *onv*rsion *rrors. K*y vuln*r**l* *un*tions w*r* i**nti*i** *y: *. T** p*t** r*pl**in* uns*** strin* *on**t*n*tion wit* *s**pin* in **tOv*rri***xpr m*t*o*s (*V*-****-****'s root **us