
该版本修复的主要安全漏洞如下:
1. 通过在参数前面加上“action:”/“redirect:”/“redirectAction:”前缀,以实现远程代码执行,如下:
- http://host/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
- http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
- http://host/struts2-showcase/employee/save.action?redirectAction:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}


2. 通过在参数前面加上“redirect:”/“redirectAction:”前缀,以实现开放式重定向,如下:
- http://host/struts2-showcase/fileupload/upload.action?redirect:http://www.yahoo.com/
- http://host/struts2-showcase/modelDriven/modelDriven.action?redirectAction:http://www.google.com/%23

详细漏洞信息:
- http://struts.apache.org/release/2.3.x/docs/s2-016.html
- http://struts.apache.org/release/2.3.x/docs/s2-017.html
- http://struts.apache.org/release/2.3.x/docs/version-notes-23151.html
如果你从其他分支迁移至2.3.x分支,需要注意,该分支最低要求Servlet API 2.4、JSP API 2.0和Java 5。
下载地址: http://struts.apache.org/