Miggo Logo

CVE-2018-11776:
Apache Struts vulnerability (CVE-2018-11776) enables RCE via namespace bypass. CVSS 8.1. Get vulnerability details & mitigation steps.

8.1

CVSS Score

Basic Information

EPSS Score
-
Published
10/18/2018
Updated
7/25/2024
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.0/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.4, <= 2.3.342.3.35
org.apache.struts:struts2-coremaven>= 2.5, <= 2.5.162.5.17

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from improper namespace validation in action mapping. The commit diff shows critical changes:

  1. Added namespace validation pattern (allowedNamespaceNames)
  2. Modified parseNameAndNamespace to use cleanupNamespaceName
  3. Patched both DefaultActionMapper and RestActionMapper implementations

Key indicators:

  • Pre-patch code set namespace directly from URI parameters
  • No whitelist validation for namespace values
  • Attack vectors leveraged uncontrolled namespace values for OGNL injection
  • RestActionMapper showed identical vulnerable pattern

These functions were directly responsible for processing untrusted namespace values without validation, enabling the RCE vulnerability.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*p**** Struts *ont*ins * R*mot* *o** *x**ution w**n usin* r*sults wit* no n*m*sp*** *n* it's upp*r **tions **v* no or wil***r* n*m*sp***. T** s*m* *l*w *xists w**n usin* * url t** wit* no v*lu*, **tion s*t, *n* it's upp*r **tions **v* no or wil***r*

Reasoning

T** vuln*r**ility st*mm** *rom improp*r n*m*sp*** v*li**tion in **tion m*ppin*. T** *ommit *i** s*ows *riti**l ***n**s: *. ***** n*m*sp*** v*li**tion p*tt*rn (*llow**N*m*sp***N*m*s) *. Mo*i*i** p*rs*N*m**n*N*m*sp*** to us* *l**nupN*m*sp***N*m* *. P*t