{"id":"CVE-2015-1831","aliases":["EUVD-2022-4860","GHSA-q2cg-xf9p-h457"],"status":"published","title":"Incomplete exclude pattern in Apache Struts","description":"The default exclude patterns (excludeParams) in Apache Struts 2.3.20 allow remote attackers to \"compromise internal state of an application\" via unspecified vectors.","severity":{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.06319,"percentile":0.93663,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"published":"2015-07-16T14:00:00Z","modified":"2026-06-17T00:23:04Z","fixes":[{"ecosystem":"Maven","package":"org.apache.struts:struts2-core","fixed_in":["2.3.20.1"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.apache.struts.xwork:xwork-core","fixed_in":["2.3.20.1"],"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.20.1"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.apache.struts.xwork:xwork-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.3.20.1"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.apache.struts:struts2-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.3.20.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","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.14.3","2.3.15","2.3.15.1","2.3.15.2","2.3.15.3","2.3.16","2.3.16.1","2.3.16.2","2.3.16.3","2.3.20","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.20.1"}]}],"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.14.3","2.3.15","2.3.15.1","2.3.15.2","2.3.15.3","2.3.16","2.3.16.1","2.3.16.2","2.3.16.3","2.3.20","2.3.3","2.3.4","2.3.4.1","2.3.7","2.3.8"]}],"products":[{"vendor":"apache","product":"struts"}],"references":[{"url":"https://struts.apache.org/docs/s2-024.html","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","web"]},{"url":"http://www.securityfocus.com/bid/75940","tags":["vdb-entry","x_refsource_BID","x_transferred"]},{"url":"http://www.securitytracker.com/id/1032985","tags":["vdb-entry","x_refsource_SECTRACK","x_transferred"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2015-1831","tags":["advisory"]},{"url":"https://github.com/apache/struts/commit/d832747d647df343ed07a58b1b5e540a05a4d51b","tags":["web"]},{"url":"https://github.com/advisories/GHSA-q2cg-xf9p-h457"},{"url":"https://github.com/apache/struts","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2015-1831","description":"The default exclude patterns (excludeParams) in Apache Struts 2.3.20 allow remote attackers to \"compromise internal state of an application\" via unspecified vectors.","status":"published","published":"2015-07-16T14:00:00Z","modified":"2024-08-06T04:54:16.347Z","updated_at":"2026-11-02T14:35:43.698357Z"}],"euvd":[{"id":"EUVD-2022-4860","description":"The default exclude patterns (excludeParams) in Apache Struts 2.3.20 allow remote attackers to \"compromise internal state of an application\" via unspecified vectors.","status":"published","published":"2015-07-16T14:00:00Z","modified":"2024-08-06T04:54:16Z","updated_at":"2026-11-03T02:22:13.664628Z"}],"ghsa":[{"id":"GHSA-q2cg-xf9p-h457","title":"Incomplete exclude pattern in Apache Struts","description":"The default exclude patterns (excludeParams) in Apache Struts 2.3.20 allow remote attackers to \"compromise internal state of an application\" via unspecified vectors. In Struts 2.3.20.1 a better set of exlude patterns was defined.","status":"published","published":"2022-05-17T00:50:08Z","modified":"2023-12-28T19:21:52Z","updated_at":"2026-11-02T14:37:28.753349Z"}],"nvd":[{"id":"CVE-2015-1831","description":"The default exclude patterns (excludeParams) in Apache Struts 2.3.20 allow remote attackers to \"compromise internal state of an application\" via unspecified vectors.","status":"published","published":"2015-07-16T14:59:00.073Z","modified":"2026-06-17T00:23:04.813Z","cvss":[{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"updated_at":"2026-11-02T14:03:07.96297Z"}],"osv":[{"id":"GHSA-q2cg-xf9p-h457","title":"Incomplete exclude pattern in Apache Struts","description":"The default exclude patterns (excludeParams) in Apache Struts 2.3.20 allow remote attackers to \"compromise internal state of an application\" via unspecified vectors. In Struts 2.3.20.1 a better set of exlude patterns was defined.","status":"published","published":"2022-05-17T00:50:08Z","modified":"2024-12-06T05:39:10.802082Z","updated_at":"2026-11-02T15:46:53.700556Z"}]}}
