Red Hat Bugzilla – Bug 1326725
CVE-2016-4003 struts2: cross-site scripting vulnerability in the URLDecoder function
Last modified: 2016-04-13 12:43:13 EDT
When using a single byte page encoding such as ISO-8895-1, an attacker might submit a non-spec URL-encoded parameter value including multi-byte characters. Struts 2 used the standard JRE URLDecoder to decode parameter values. Especially JRE 1.5's URLDecoder implementation seems to be broken to the point that this non-spec encoding isn't rejected / filtered. In later JREs the issue was fixed, best known solution is found in JRE 1.8. External references: http://struts.apache.org/docs/s2-028.html