Patchfirst
CVE-2018-11776 KEVPublic exploit High · 8.1 EPSS >99.9%

Apache Struts Remote Code Execution Vulnerability

Apache · Struts

Summary

Apache Struts (the Apache web application framework) contains a flaw in its namespace handling that can lead to remote code execution when alwaysSelectFullNamespace is enabled, either by user configuration or through a plugin such as the Convention Plugin, affecting versions 2.3 to 2.3.34 and 2.5 to 2.5.16. An attacker with network access and no privileges could exploit it without user interaction, provided the application uses results without a namespace, or url tags lacking value and action attributes, under a parent package that has no namespace or a wildcard namespace.

Official description · NVD

Apache Struts versions 2.3 to 2.3.34 and 2.5 to 2.5.16 suffer from possible Remote Code Execution when alwaysSelectFullNamespace is true (either by user or a plugin like Convention Plugin) and then: results are used with no namespace and in same time, its upper package have no or wildcard namespace and similar to results, same possibility when using url tag which doesn't have value and action set and in same time, its upper package have no or wildcard namespace.

Breakdown
82.5 / 100
Exploited
Yes, in CISA KEV
Reports
1
Tactics
3/15

How an attack unfolds

Based on mappings. Select a step to see the evidence.
  1. How attackers get in

  2. What they do

  3. What can follow

First seen exploited 4 months after disclosure. Public exploit code (Metasploit) was available the same day.

  1. DisclosedPublic exploit codeMetasploitday 0
  2. First seen exploitedVulnCheck KEV evidence+4 mo
  3. Added to CISA KEVEU database agrees+3 yrs

CISA KEV listing is when exploitation was confirmed, not necessarily the first attack.

See the family tree

8 related vulnerabilities in the same code over 5 years. The latest fix listed for struts2-core is 2.5.22.

Same bug familyLinked by evidence that a fix failed or the same code was patched again. Oldest first.

  1. CVE-2013-2134Struts 2 before 2.3.14.3 allows remote attackers to execute…16 Jul 2013
  2. same family
    CVE-2013-2135Struts 2 before 2.3.14.3 allows remote attackers to execute…16 Jul 2013
  3. Next fix in the same packageHigh

    Why these are linked:

    CVE-2013-2248Multiple open redirect vulnerabilities in Apache Struts 2.0.0…18 Jul 2013
  4. same family
    CVE-2013-2251Struts Improper Input Validation20 Jul 2013KEV
  5. relatedMedium

    Why these are linked:

    CVE-2013-4310Struts 2.0.0 through 2.3.15.1 allows remote attackers to bypass…30 Sep 2013
  6. relatedHigh

    Why these are linked:

    • Fixed one release later2.3.15.2 → 2.3.15.3 (org.apache.struts:struts2-core)
    • Same code patched: ParameterAction.java (machine-matched)Functions: handleSpecialParameterscommit 0c8366ccommit 58947c3commit c643336
    CVE-2013-4316Struts 2.0.0 through 2.3.15.1 enables Dynamic Method Invocation…30 Sep 2013
  7. relatedMedium

    Why these are linked:

    CVE-2016-4438The REST plugin in Apache Struts 2 2.3.19 through 2.3.28.1…4 Jul 2016
  8. relatedMedium

    Why these are linked:

    This CVECVE-2018-11776Struts Remote Code Execution22 Aug 2018KEV

Fixes in struts2-coreMaven package, by fixed version. Earlier and later fixes in the same package, not necessarily the same bug.

  1. 2.5.11CVE-2017-1261120 Sep 2017
  2. 2.5.13CVE-2016-44654 Jul 2016
  3. 2.5.13CVE-2016-873820 Sep 2017
  4. 2.5.13CVE-2017-980420 Sep 2017
  5. 2.5.17CVE-2018-1177622 Aug 2018KEV
  6. 2.5.22CVE-2012-15925 Dec 2019
  7. 2.5.22CVE-2019-023014 Sep 2020
  8. 2.5.22CVE-2019-023314 Sep 2020Latest listed

techniques

3 , grouped by in kill-chain order 3

Initial AccessTA0001

Exploit Public-Facing Application T1190 Medium
MITRE CTID mapping of the KEV entry · how it is exploited

CVE-2018-11776 is a remote code execution vulnerability in the Apache Struts web application framework that could allow remote attackers to run malicious code on the affected servers when alwaysSelectFullNamespace is true and then results are used with no namespace.

ExecutionTA0002

Command and Scripting Interpreter T1059 Medium
MITRE CTID mapping of the KEV entry · primary impact

ImpactTA0040

Resource Hijacking T1496 Medium
MITRE CTID mapping of the KEV entry · follow-on activity

CVE-2018-11776 is a remote code execution vulnerability in the Apache Struts web application framework that could allow remote attackers to run malicious code on the affected servers when alwaysSelectFullNamespace is true and then results are used with no namespace. Volexity also reports active scanning and attempts to exploit CVE-2018-11776 in order to deploy cryptocurrency miners.

Lower-confidence links (1)

These come from early or generic mappings, text matching, or contradict this CVE’s details (for example a public-facing technique on a bug that needs a user to open a file). Shown for completeness.

  • Exploitation for Privilege EscalationT1068 CTID attack_to_cve Phase 1 "Uncategorized" mapping (not staged by impact)

Detection

0 rules for this CVE · 257 general rules for its techniques

Rules for this CVE

0 that reference CVE-2018-11776 directly.

CVE-specific rules are not available in this build. Search SigmaHQ ↗

General rules for this CVE’s techniques

These detect the technique in general, not this specific vulnerability.

Sigma rules © SigmaHQ, Detection Rule License 1.1; linked, not reproduced.

Am I affected? What do I upgrade to?

From GitHub Security Advisories and OSV

1 package in 1 ecosystem. Main package: org.apache.struts:struts2-core.

Mavenorg.apache.struts:struts2-coreGHSA-cr6j-3jp9-rw65

Upgrade to 2.5.33

Fixes this CVE and 7 other known vulnerabilities in this package (CVE-2017-12611, CVE-2017-5638, +5).

Still affected on this line by CVE-2024-53677 (fixed in 6.4.0, a newer line); CVE-2025-68493 (no fix published).

Set the version to 2.5.33 or later in your pom.xml or build.gradle.

First fixed in 2.5.17 for CVE-2018-11776.

Affected versions, by release line

If you runUpgrade to
2.5 up to 2.5.172.5.33first fix for this CVE: 2.5.17
2.0.4 up to 2.3.35

Still affected on this line by CVE-2019-0230 (fixed in 2.5.22, a newer line); CVE-2019-0233 (fixed in 2.5.22, a newer line); CVE-2020-17530 (fixed in 2.5.26, a newer line); CVE-2021-31805 (fixed in 2.5.30, a newer line); CVE-2023-50164 (fixed in 2.5.33, a newer line); CVE-2024-53677 (fixed in 6.4.0, a newer line); CVE-2025-68493 (no fix published).

2.3.35

“Up to” means the second version is the fix and is not affected.

Check your lockfile against all CVEs

What security researchers reported

Named in 1 threat report
1 reportanomali.com

Reports are matched by finding the exact id CVE-2018-11776 in their text; nobody has reviewed the match. One passage is shown per report, at most 320 characters, linked to the original.

Also mentioned in 50 community threat pulses (AlienVault OTX)

Weaker evidence

Pulses are indicator collections that anyone can publish. A mention is not confirmation of exploitation.

References

20 links, grouped by NVD tag (19 duplicates merged)
↑ ↓ chooseEnter openEsc close