{"id":"CVE-2010-1870","published":"2010-08-17T17:31:00Z","modified":"2024-08-07T01:35:53Z","title":"The OGNL extensive expression evaluation capability in XWork in Struts 2.0.0 through 2.1.8.1, as used in Atlassian…","vendor":null,"product":null,"tier":"core","eol":null,"description":{"text":"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.","provenance":"source","from":"CVE.org"},"summary":{"text":"The OGNL expression evaluation in XWork as shipped with Struts 2.0.0 through 2.1.8.1 (and as used in Atlassian Fisheye and Crucible) relies on a permissive whitelist that fails to block access to OGNL context variables such as #context, #_memberAccess and #root. An attacker who can submit parameters to an affected application can use these variables to modify server-side context objects and bypass the \"#\" protection in ParameterInterceptors, with no details given on the required authentication, network position or user interaction.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-29T07:18:11Z"},"cvss":null,"epss":{"score":0.92015,"percentile":0.99819,"date":"2026-10-28","provenance":"source"},"kev":null,"vulncheckKev":null,"exploited":false,"otx":{"pulseCount":0,"pulses":[],"provenance":"machine"},"cwes":[],"references":[{"url":"http://confluence.atlassian.com/display/FISHEYE/FishEye+Security+Advisory+2010-06-16","tags":["x_refsource_CONFIRM"]},{"url":"http://www.exploit-db.com/exploits/14360","tags":["exploit","x_refsource_EXPLOIT-DB"]},{"url":"http://www.securityfocus.com/bid/41592","tags":["vdb-entry","x_refsource_BID"]},{"url":"http://www.osvdb.org/66280","tags":["vdb-entry","x_refsource_OSVDB"]},{"url":"http://struts.apache.org/2.2.1/docs/s2-005.html","tags":["x_refsource_CONFIRM"]},{"url":"http://secunia.com/advisories/59110","tags":["third-party-advisory","x_refsource_SECUNIA"]},{"url":"http://blog.o0o.nu/2010/07/cve-2010-1870-struts2xwork-remote.html","tags":["x_refsource_MISC"]},{"url":"http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20140709-struts2","tags":["x_refsource_CONFIRM"]},{"url":"http://seclists.org/fulldisclosure/2010/Jul/183","tags":["mailing-list","x_refsource_FULLDISC"]},{"url":"http://securityreason.com/securityalert/8345","tags":["third-party-advisory","x_refsource_SREASON"]},{"url":"http://seclists.org/fulldisclosure/2020/Oct/23","tags":["mailing-list","x_refsource_FULLDISC"]},{"url":"http://packetstormsecurity.com/files/159643/LISTSERV-Maestro-9.0-8-Remote-Code-Execution.html","tags":["x_refsource_MISC"]}],"techniques":[],"reports":[],"affected":[{"ecosystem":"Maven","package":"org.apache.struts:struts2-core","vulnerableRanges":["<2.2.1"],"patched":["2.2.1"],"from":["GHSA-x5fc-pgpx-59j5"],"provenance":"source"}],"advisories":[{"id":"GHSA-x5fc-pgpx-59j5","url":"https://github.com/advisories/GHSA-x5fc-pgpx-59j5","severity":"MODERATE","ecosystem":"Maven","package":"org.apache.struts:struts2-core","vulnerableRanges":["<2.2.1"],"patched":["2.2.1"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2022-5715","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2022-5715","exploited":false,"exploitedSince":null,"provenance":"source"},"exploits":[{"id":14360,"url":"https://www.exploit-db.com/exploits/14360","title":"Struts2/XWork < 2.2.0 - Remote Command Execution","type":"remote","platform":"multiple","date":"2010-07-14","verified":false,"provenance":"source"},{"id":17691,"url":"https://www.exploit-db.com/exploits/17691","title":"Apache Struts < 2.2.0 - Remote Command Execution (Metasploit)","type":"remote","platform":"multiple","date":"2011-08-19","verified":true,"provenance":"source"}],"exploitSources":{"exploitdb":{"count":2,"earliest":"2010-07-14"},"metasploit":[{"name":"Apache Struts Remote Command Execution","module":"exploit/multi/http/struts_code_exec","type":"exploit","disclosureDate":"2010-07-13","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts_code_exec.rb"}],"nuclei":[{"id":"CVE-2010-1870","name":"ListSERV Maestro <= 9.0-8 RCE","severity":"medium","path":"http/cves/2010/CVE-2010-1870.yaml","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2010/CVE-2010-1870.yaml"}],"first":{"date":"2010-07-13","source":"Metasploit","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts_code_exec.rb"},"provenance":"source"},"exploitRefs":["http://www.exploit-db.com/exploits/14360","http://packetstormsecurity.com/files/159643/LISTSERV-Maestro-9.0-8-Remote-Code-Execution.html"],"flow":[],"timeline":[{"date":"2010-07-13","kind":"exploit-public","label":"First public exploit: Metasploit; later: Exploit-DB 2010-07-14","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts_code_exec.rb","provenance":"source"},{"date":"2010-08-17","kind":"published","label":"Published (CVE.org)","url":"https://www.cve.org/CVERecord?id=CVE-2010-1870","provenance":"source"}],"speed":{"daysToPublicExploit":null,"firstExploitFrom":"Metasploit","daysToKev":null},"priority":{"score":25.0,"factors":[{"name":"In a KEV catalog","points":0.0,"detail":"not listed"},{"name":"Recent KEV listing","points":0.0,"detail":"not listed"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.96,"detail":"percentile 0.9982"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"1 NVD reference tagged Exploit; 2 Exploit-DB entries; 1 NVD exploit link; 1 Metasploit module; 1 nuclei template"},{"name":"Mentioned in OTX pulses","points":0.0,"detail":"0 pulses"},{"name":"CVSS severity","points":0.0,"detail":"no CVSS"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]},"lineage":{"packageHistory":[{"cve":"CVE-2008-6682","published":"2009-04-09","fixed":"2.1.1","kev":false},{"cve":"CVE-2008-6505","published":"2009-03-23","fixed":"2.1.3","kev":false,"link":{"from":"CVE-2008-6505","to":"CVE-2010-1870","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:org.apache.struts:struts2-core","fromFixed":"2.1.3","toFixed":"2.2.1","daysApart":512}]}},{"cve":"CVE-2010-1870","published":"2010-08-17","fixed":"2.2.1","kev":false},{"cve":"CVE-2011-1772","published":"2011-05-13","fixed":"2.2.3","kev":false,"link":{"from":"CVE-2010-1870","to":"CVE-2011-1772","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:org.apache.struts:struts2-core","fromFixed":"2.2.1","toFixed":"2.2.3","daysApart":269}]}},{"cve":"CVE-2012-0391","published":"2012-01-08","fixed":"2.2.3.1","kev":true},{"cve":"CVE-2012-0392","published":"2012-01-08","fixed":"2.2.3.1","kev":false}],"package":"Maven:org.apache.struts:struts2-core"}}