{"id":"CVE-2016-4003","aliases":["EUVD-2022-4483","GHSA-m3x6-9v6h-4g28"],"status":"published","title":"Cross-site Scripting in Apache Struts","description":"Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.","severity":{"version":"3.0","score":6.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.11562,"percentile":0.96057,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2016-04-12T16:00:00Z","modified":"2026-10-24T10:30:58Z","fixes":[{"ecosystem":"Maven","package":"org.apache.struts:struts2-core","fixed_in":["2.3.28"],"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.28"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.apache.struts:struts2-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.3.28"}]}],"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.20.1","2.3.20.3","2.3.24","2.3.24.1","2.3.24.3","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/docs/s2-028.html","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web"]},{"url":"http://www.securityfocus.com/bid/86311","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry","advisory"]},{"url":"http://www.securitytracker.com/id/1035268","tags":["vdb-entry","x_refsource_SECTRACK","x_transferred","Third Party Advisory","VDB Entry","advisory"]},{"url":"https://issues.apache.org/jira/browse/WW-4507","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-4003","tags":["advisory"]},{"url":"https://github.com/apache/struts/commit/4720f46a63caaf9db97ba27dc51ac5ad21e66bdc","tags":["web"]},{"url":"https://github.com/apache/struts/commit/5421930b49822606792f36653b17d3d95ef106f9","tags":["web"]},{"url":"https://github.com/apache/struts/commit/72471d7075681bea52046645ad7aa34e9c53751e","tags":["web"]},{"url":"https://github.com/apache/struts/commit/76f188406eb9f17a06afcb5f49f0c44d749da0d2","tags":["web"]},{"url":"https://github.com/apache/struts/commit/a89bbe22cd2461748d595a89a254de888a415e6c","tags":["web"]},{"url":"https://web.archive.org/web/20161119142317/http://www.securityfocus.com/bid/86311","tags":["web"]},{"url":"https://web.archive.org/web/20161221184936/http://www.securitytracker.com/id/1035268","tags":["web"]},{"url":"https://github.com/advisories/GHSA-m3x6-9v6h-4g28"},{"url":"https://github.com/apache/struts","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2016-4003","description":"Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.","status":"published","published":"2016-04-12T16:00:00Z","modified":"2024-08-06T00:17:29.844Z","updated_at":"2026-11-02T14:33:34.815789Z"}],"euvd":[{"id":"EUVD-2022-4483","description":"Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.","status":"published","published":"2016-04-12T16:00:00Z","modified":"2024-08-06T00:17:29Z","updated_at":"2026-11-03T02:22:48.270082Z"}],"ghsa":[{"id":"GHSA-m3x6-9v6h-4g28","title":"Cross-site Scripting in Apache Struts","description":"Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.","status":"published","published":"2022-05-14T01:57:01Z","modified":"2023-12-28T21:55:10Z","cvss":[{"version":"3.0","score":6.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:37:28.753349Z"}],"nvd":[{"id":"CVE-2016-4003","description":"Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.","status":"published","published":"2016-04-12T16:59:04.313Z","modified":"2026-06-17T00:46:43.277Z","cvss":[{"version":"3.0","score":6.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:03:23.795791Z"}],"osv":[{"id":"CVE-2016-4003","description":"Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.","status":"published","published":"2016-04-12T16:59:04.313Z","modified":"2026-10-24T10:30:58.330039417Z","cvss":[{"version":"3.0","score":6.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:02.454775Z"},{"id":"GHSA-m3x6-9v6h-4g28","title":"Cross-site Scripting in Apache Struts","description":"Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.","status":"published","published":"2022-05-14T01:57:01Z","modified":"2024-02-16T08:21:52.300049Z","cvss":[{"version":"3.0","score":6.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:51.10002Z"}]}}
