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.
struts.apache.org/docs/s2-028.html
github.com/apache/struts
github.com/apache/struts/commit/4720f46a63caaf9db97ba27dc51ac5ad21e66bdc
github.com/apache/struts/commit/5421930b49822606792f36653b17d3d95ef106f9
github.com/apache/struts/commit/72471d7075681bea52046645ad7aa34e9c53751e
github.com/apache/struts/commit/76f188406eb9f17a06afcb5f49f0c44d749da0d2
github.com/apache/struts/commit/a89bbe22cd2461748d595a89a254de888a415e6c
issues.apache.org/jira/browse/WW-4507
nvd.nist.gov/vuln/detail/CVE-2016-4003
web.archive.org/web/20161119142317/www.securityfocus.com/bid/86311
web.archive.org/web/20161221184936/www.securitytracker.com/id/1035268