Miggo Logo

CVE-2015-5209: Special top object can be used to access Struts' internals

7.5

CVSS Score
3.0

Basic Information

EPSS Score
0.88422%
Published
5/14/2022
Updated
2/1/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.apache.struts:struts2-coremaven< 2.3.24.12.3.24.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper input validation of request parameters accessing the 'top' object in ValueStack. The primary vulnerable function is ParametersInterceptor.intercept() which handles parameter validation using regex patterns. The security patch modified the exclusion regex to block 'top' references, indicating this was the injection point. HttpParameters.create() is included as a secondary candidate due to its role in parameter processing, though with lower confidence as specific patch details are unavailable. Both functions would appear in stack traces during parameter processing of malicious requests attempting to exploit the 'top' object access.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

V*lu*St**k ***in*s sp**i*l top o*j**t w*i** r*pr*s*nts root o* *x**ution *ont*xt. It **n ** us** to m*nipul*t* Struts' int*rn*ls or **n ** us** to *****t *ont*in*r's s*ttin*s. *pplyin* **tt*r r***x w*i** in*lu**s p*tt*rn to *x*lu** r*qu*st p*r*m*t*rs

Reasoning

T** vuln*r**ility st*ms *rom improp*r input v*li**tion o* r*qu*st p*r*m*t*rs ****ssin* t** 'top' o*j**t in V*lu*St**k. T** prim*ry vuln*r**l* *un*tion is `P*r*m*t*rsInt*r**ptor.int*r**pt()` w*i** **n*l*s p*r*m*t*r v*li**tion usin* r***x p*tt*rns. T**