Description
The OGNL extensive expression evaluation capability in XWork in Struts 2.0.0 through 2.1.8.1, as used in Atlassian Fisheye, Crucible, and possibly other products, uses a permissive whitelist, which allows remote attackers to modify server-side context objects and bypass the "#" protection mechanism in ParameterInterceptors via the (1) #context, (2) #_memberAccess, (3) #root, (4) #this, (5) #_typeResolver, (6) #_classResolver, (7) #_traceEvaluations, (8) #_lastEvaluation, (9) #_keepLastEvaluation, and possibly other OGNL context variables, a different vulnerability than CVE-2008-6504.
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Metasploit 1 module
-
Apache Struts Remote Command Execution
exploit/multi/http/struts_code_exec
Exploit-DB 2
- Apache Struts < 2.2.0 - Remote Command Execution (Metasploit) EDB-17691 · remote · Aug 19, 2011 · verified
- Struts2/XWork < 2.2.0 - Remote Command Execution EDB-14360 · remote · Jul 14, 2010
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Automated scanner template
A ready-made Nuclei template detects this vulnerability automatically. Vulnerabilities with public scanner templates are typically probed across the internet soon after the template appears — exposed systems should be patched first.
- ListSERV Maestro <= 9.0-8 RCE http/cves/2010/CVE-2010-1870.yaml
Source: projectdiscovery/nuclei-templates (MIT) — updated daily. Only links are listed.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Maven | org.apache.struts:struts2-core | < 2.2.1 | 2.2.1 | GHSA-x5fc-pgpx-59j5 |
References
- http://confluence.atlassian.com/display/FISHEYE/FishEye+Security+Advisory+2010-06-16
- 14360 exploit
- 41592 vdb-entry
- 66280 vdb-entry
- http://struts.apache.org/2.2.1/docs/s2-005.html
- 59110 third-party-advisory
- http://blog.o0o.nu/2010/07/cve-2010-1870-struts2xwork-remote.html
- http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20140709-struts2
- 20100713 CVE-2010-1870: Struts2 remote commands execution mailing-list
- 8345 third-party-advisory
- 20201020 LISTSERV Maestro Remote Code Execution Vulnerability mailing-list
- http://packetstormsecurity.com/files/159643/LISTSERV-Maestro-9.0-8-Remote-Code-Execution.html