{"id":"CVE-2010-1870","aliases":["EUVD-2022-5715","GHSA-x5fc-pgpx-59j5"],"status":"published","title":"Server side object manipulation in Apache Struts","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.","severity":{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.92015,"percentile":0.99821,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"published":"2010-08-17T17:31:00Z","modified":"2026-06-16T23:19:29Z","exploits":[{"source":"exploitdb","id":"EDB-14360","title":"Struts2/XWork \u003c 2.2.0 - Remote Command Execution","type":"remote","platform":"multiple","date":"2010-07-14","url":"https://www.exploit-db.com/exploits/14360"},{"source":"exploitdb","id":"EDB-17691","title":"Apache Struts \u003c 2.2.0 - Remote Command Execution (Metasploit)","type":"remote","platform":"multiple","date":"2011-08-19","verified":true,"url":"https://www.exploit-db.com/exploits/17691"},{"source":"metasploit","id":"exploit/multi/http/struts_code_exec","title":"Apache Struts Remote Command Execution","type":"exploit","platform":"Linux,Windows","date":"2010-07-13","verified":true,"url":"https://www.rapid7.com/db/modules/exploit/multi/http/struts_code_exec"},{"source":"nuclei","id":"CVE-2010-1870","title":"ListSERV Maestro \u003c= 9.0-8 RCE","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2010/CVE-2010-1870.yaml"}],"fixes":[{"ecosystem":"Maven","package":"org.apache.struts:struts2-core","fixed_in":["2.2.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.apache.struts:struts2-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.1"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.apache.struts:struts2-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.1"}]}],"versions":["2.0.11","2.0.11.1","2.0.11.2","2.0.12","2.0.14","2.0.5","2.0.6","2.0.8","2.0.9","2.1.2","2.1.6","2.1.8","2.1.8.1"]}],"products":[{"vendor":"apache","product":"struts"}],"references":[{"url":"http://confluence.atlassian.com/display/FISHEYE/FishEye+Security+Advisory+2010-06-16","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","web"]},{"url":"http://www.exploit-db.com/exploits/14360","tags":["exploit","x_refsource_EXPLOIT-DB","x_transferred","Exploit"]},{"url":"http://www.securityfocus.com/bid/41592","tags":["vdb-entry","x_refsource_BID","x_transferred"]},{"url":"http://www.osvdb.org/66280","tags":["vdb-entry","x_refsource_OSVDB","x_transferred"]},{"url":"http://struts.apache.org/2.2.1/docs/s2-005.html","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"http://secunia.com/advisories/59110","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred"]},{"url":"http://blog.o0o.nu/2010/07/cve-2010-1870-struts2xwork-remote.html","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20140709-struts2","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"http://seclists.org/fulldisclosure/2010/Jul/183","tags":["mailing-list","x_refsource_FULLDISC","x_transferred","web"]},{"url":"http://securityreason.com/securityalert/8345","tags":["third-party-advisory","x_refsource_SREASON","x_transferred"]},{"url":"http://seclists.org/fulldisclosure/2020/Oct/23","tags":["mailing-list","x_refsource_FULLDISC","x_transferred","web"]},{"url":"http://packetstormsecurity.com/files/159643/LISTSERV-Maestro-9.0-8-Remote-Code-Execution.html","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2010-1870","tags":["advisory"]},{"url":"https://cwiki.apache.org/confluence/display/WW/S2-003","tags":["web"]},{"url":"https://github.com/advisories/GHSA-x5fc-pgpx-59j5"},{"url":"https://github.com/apache/struts","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2010-1870","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.","status":"published","published":"2010-08-17T17:31:00Z","modified":"2024-08-07T01:35:53.709Z","updated_at":"2026-11-02T14:33:29.582233Z"}],"euvd":[{"id":"EUVD-2022-5715","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.","status":"published","published":"2010-08-17T17:31:00Z","modified":"2024-08-07T01:35:53Z","updated_at":"2026-11-03T01:39:39.801604Z"}],"ghsa":[{"id":"GHSA-x5fc-pgpx-59j5","title":"Server side object manipulation in Apache Struts","description":"OGNL provides, among other features, extensive expression evaluation capabilities. This vulnerability allows a malicious user to bypass the '#'-usage protection built into the ParametersInterceptor, thus being able to manipulate server side context objects. This behavior was already addressed in [S2-003](https://cwiki.apache.org/confluence/display/WW/S2-003), but it turned out that the resulting fix based on whitelisting acceptable parameter names closed the vulnerability only partially.","status":"published","published":"2022-05-13T01:14:26Z","modified":"2023-08-26T05:02:34Z","updated_at":"2026-11-02T14:37:00.680009Z"}],"nvd":[{"id":"CVE-2010-1870","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.","status":"published","published":"2010-08-17T20:00:03.407Z","modified":"2026-06-16T23:19:29.683Z","cvss":[{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"updated_at":"2026-11-02T14:01:49.736647Z"}],"osv":[{"id":"GHSA-x5fc-pgpx-59j5","title":"Server side object manipulation in Apache Struts","description":"OGNL provides, among other features, extensive expression evaluation capabilities. This vulnerability allows a malicious user to bypass the '#'-usage protection built into the ParametersInterceptor, thus being able to manipulate server side context objects. This behavior was already addressed in [S2-003](https://cwiki.apache.org/confluence/display/WW/S2-003), but it turned out that the resulting fix based on whitelisting acceptable parameter names closed the vulnerability only partially.","status":"published","published":"2022-05-13T01:14:26Z","modified":"2024-12-02T05:43:40.772642Z","updated_at":"2026-11-02T15:46:59.484835Z"}]}}
