{"id":"CVE-2013-2135","aliases":["EUVD-2022-4835","GHSA-pw8r-x2qm-3h5m"],"status":"published","title":"Arbitrary code execution in Apache Struts 2","description":"Apache Struts 2 before 2.3.14.3 allows remote attackers to execute arbitrary OGNL code via a request with a crafted value that contains both \"${}\" and \"%{}\" sequences, which causes the OGNL code to be evaluated twice.","severity":{"version":"2.0","score":9.3,"vector":"AV:N/AC:M/Au:N/C:C/I:C/A:C","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.13828,"percentile":0.96542,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-94"],"published":"2013-07-16T18:00:00Z","modified":"2026-06-16T23:52:48Z","fixes":[{"ecosystem":"Maven","package":"org.apache.struts:struts2-core","fixed_in":["2.3.14.3"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.apache.struts.xwork:xwork-core","fixed_in":["2.3.14.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.apache.struts:struts2-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.3.14.3"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.apache.struts.xwork:xwork-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.3.14.3"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.apache.struts:struts2-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.3.14.3"}]}],"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","2.2.1","2.2.1.1","2.2.3","2.2.3.1","2.3.1","2.3.1.1","2.3.1.2","2.3.12","2.3.14","2.3.14.1","2.3.14.2","2.3.3","2.3.4","2.3.4.1","2.3.7","2.3.8"]},{"source":"osv","ecosystem":"Maven","package":"org.apache.struts.xwork:xwork-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.3.14.3"}]}],"versions":["2.2.1","2.2.1.1","2.2.3","2.2.3.1","2.3.1","2.3.1.1","2.3.1.2","2.3.12","2.3.14","2.3.14.1","2.3.14.2","2.3.3","2.3.4","2.3.4.1","2.3.7","2.3.8"]}],"products":[{"vendor":"apache","product":"struts"}],"references":[{"url":"http://struts.apache.org/development/2.x/docs/s2-015.html","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","web"]},{"url":"https://cwiki.apache.org/confluence/display/WW/S2-015","tags":["x_refsource_MISC","x_transferred","Vendor Advisory","web"]},{"url":"http://www.oracle.com/technetwork/topics/security/cpuoct2013-1899837.html","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","web"]},{"url":"http://www.securityfocus.com/bid/64758","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry"]},{"url":"http://www.oracle.com/technetwork/topics/security/cpujan2014-1972949.html","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2013-2135","tags":["advisory"]},{"url":"https://github.com/apache/struts/commit/01e6b251b4db78bfb7971033652e81d1af4cb3e0","tags":["web"]},{"url":"https://github.com/apache/struts/commit/041206d2a693d02c0cb2e72765275e55ba14049f","tags":["web"]},{"url":"https://github.com/apache/struts/commit/113c47082c09818bcef65acc436a2d0c7c47aa6c","tags":["web"]},{"url":"https://github.com/apache/struts/commit/54e5c912ebd9a1599bfcf7a719da17c28127bbe3","tags":["web"]},{"url":"https://github.com/apache/struts/commit/711cf0201cdd319a38cf29238913312355db29ba","tags":["web"]},{"url":"https://github.com/apache/struts/commit/8b4fc81daeea3834bcbf73de5f48d0021917aa37","tags":["web"]},{"url":"https://github.com/apache/struts/commit/cfb6e9afbae320a4dd5bdd655154ab9fe5a92c16","tags":["web"]},{"url":"https://issues.apache.org/jira/browse/WW-4090","tags":["web"]},{"url":"https://issues.apache.org/jira/browse/WW-4094","tags":["web"]},{"url":"https://issues.apache.org/jira/browse/WW-4095","tags":["web"]},{"url":"https://web.archive.org/web/20140410223942/http://www.securityfocus.com/bid/64758","tags":["web"]},{"url":"https://github.com/advisories/GHSA-pw8r-x2qm-3h5m"},{"url":"https://github.com/apache/struts","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2013-2135","description":"Apache Struts 2 before 2.3.14.3 allows remote attackers to execute arbitrary OGNL code via a request with a crafted value that contains both \"${}\" and \"%{}\" sequences, which causes the OGNL code to be evaluated twice.","status":"published","published":"2013-07-16T18:00:00Z","modified":"2024-08-06T15:27:40.875Z","updated_at":"2026-11-02T14:34:56.19172Z"}],"euvd":[{"id":"EUVD-2022-4835","description":"Apache Struts 2 before 2.3.14.3 allows remote attackers to execute arbitrary OGNL code via a request with a crafted value that contains both \"${}\" and \"%{}\" sequences, which causes the OGNL code to be evaluated twice.","status":"published","published":"2013-07-16T18:00:00Z","modified":"2024-08-06T15:27:40Z","updated_at":"2026-11-03T01:56:39.604617Z"}],"ghsa":[{"id":"GHSA-pw8r-x2qm-3h5m","title":"Arbitrary code execution in Apache Struts 2","description":"Apache Struts 2 before 2.3.14.3 allows remote attackers to execute arbitrary OGNL code via a request with a crafted value that contains both \"${}\" and \"%{}\" sequences, which causes the OGNL code to be evaluated twice.","status":"published","published":"2022-05-14T01:57:01Z","modified":"2023-12-28T16:14:45Z","cwes":["CWE-94"],"updated_at":"2026-11-02T14:37:28.753349Z"}],"nvd":[{"id":"CVE-2013-2135","description":"Apache Struts 2 before 2.3.14.3 allows remote attackers to execute arbitrary OGNL code via a request with a crafted value that contains both \"${}\" and \"%{}\" sequences, which causes the OGNL code to be evaluated twice.","status":"published","published":"2013-07-16T18:55:01.403Z","modified":"2026-06-16T23:52:48.707Z","cvss":[{"version":"2.0","score":9.3,"vector":"AV:N/AC:M/Au:N/C:C/I:C/A:C","level":"high","assessor":"primary"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T14:02:31.592595Z"}],"osv":[{"id":"GHSA-pw8r-x2qm-3h5m","title":"Arbitrary code execution in Apache Struts 2","description":"Apache Struts 2 before 2.3.14.3 allows remote attackers to execute arbitrary OGNL code via a request with a crafted value that contains both \"${}\" and \"%{}\" sequences, which causes the OGNL code to be evaluated twice.","status":"published","published":"2022-05-14T01:57:01Z","modified":"2024-12-06T05:52:50.356086Z","cwes":["CWE-94"],"updated_at":"2026-11-02T15:46:53.700556Z"}]}}
