Struts2 S2-057远程代码预警

 

事件描述: 

Struts2是第二代基于Model-View-Controller(MVC)模型的java企业级web应用框架,成为国内外较为流行的容器软件中间件。

2018年8月22日,Apache Strust2发布最新安全公告,Apache Struts2存在远程代码执行的高危漏洞(CVE-2018-11776),该漏洞由Semmle Security Research team的安全研究员Man YueMo发现。该漏洞是由于在Struts2开发框架中使用namespace功能定义XML配置时,namespace值未被设置且在上层动作配置(Action Configuration)中未设置或用通配符namespace,可能导致远程代码执行。同理,url标签未设置value和action值且上层动作未设置或用通配符namespace时也可能导致远程代码执行。

 

易攻击目标: 

目前,漏洞影响的产品版本包括但不限于:

Struts 2.3-2.3.34

Struts 2.5-2.5.16 

 

处置建议: 

1.厂商修复方案

升级到Apache Struts 2至2.3.35版或2.5.17版,并进行服务重启。下载更新地址如下:

https://struts.apache.org/download

2.应急方案
·配置struts.xml,将

alwaysSelectFullNamespace

标签的属性值设置为“false”;
·配置struts.xml,

为“package”标签与“result”标签

设置固定的“namespace”并禁用通配符。

 

相关链接: 

http://www.cnvd.org.cn/webinfo/show/4651

http://www.cnvd.org.cn/flaw/show/CNVD-2018-15894

https://cwiki.apache.org/confluence/display/WW/S2-057