Miggo Logo

CVE-2013-2115: Code injection in Apache Struts

8.1

CVSS Score
3.1

Basic Information

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

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.apache.struts:struts2-coremaven>= 2.0.0, < 2.3.14.22.3.14.2
org.apache.struts.xwork:xwork-coremaven>= 2.0.0, < 2.3.14.22.3.14.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from two key issues: 1) The mutable allowStaticMethodAccess flag in SecurityMemberAccess allowed enabling dangerous OGNL features (patched by making it final and removing the setter). 2) The URL parameter handling in DefaultUrlHelper performed OGNL evaluation through translateAndEncode/translateAndDecode methods before encoding (patched by removing OGNL evaluation from parameter processing). These functions directly enabled the double-evaluation of malicious OGNL expressions in URL parameters when using includeParams='get' or 'all' in Struts tags.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

* vuln*r**ility intro*u*** *y *or*in* p*r*m*t*r in*lusion in t** URL *n* *n**or T** *llows r*mot* *omm*n* *x**ution, s*ssion ****ss *n* m*nipul*tion *n* XSS *tt**ks. *ot* t** s:url *n* s:* t** provi** *n in*lu**P*r*ms *ttri*ut*. T** m*in s*op* o* t

Reasoning

T** vuln*r**ility st*ms *rom two k*y issu*s: *) T** mut**l* *llowSt*ti*M*t*o*****ss *l** in S**urityM*m**r****ss *llow** *n**lin* **n**rous O*NL ***tur*s (p*t**** *y m*kin* it *in*l *n* r*movin* t** s*tt*r). *) T** URL p*r*m*t*r **n*lin* in ****ultUr