目前,J2EE开发平台Apache Struts2框架存在可执行远程代码的严重漏洞。Struts2官方已经确认该漏洞(漏洞编号S2-045),并定级为高危漏洞。此次漏洞是基于Jakarta plugin插件的Struts远程代码执行漏洞,该漏洞可造成RCE远程代码执行,漏洞利用无任何限制条件,且可绕过绝大多数的防护设备的通用防护策略。恶意用户可在上传文件时通过修改HTTP请求中的Content-Type值来触发该漏洞,从而执行系统命令,造成系统被远程控制,导致数据泄露、网页篡改、后门植入、成为肉鸡等后果。

由于此前Struts2曾发现编号为S2-016的安全漏洞,国内外绝大多数网站现已更新S2-016漏洞补丁,而本次漏洞在S2-016补丁后的版本均会受到影响,具体受影响的软件版本为Struts 2.3.5 - Struts2.3.31以及Struts 2.5 - Struts 2.5.10。

检测方法包括查看web目录/WEB-INF/lib/下的struts-core.x.x.jar版本信息和使用第三方扫描检测方式进行专项深度漏洞扫描。修复方法包括删除commons-fileupload-x.x.x.jar文件或更新Struts2版本至Struts 2.3.32、Struts 2.5.10.1;或者部署专业的WAF、APT等安全产品并确保规则库已经升级到最新版本。