安全专栏
安全专栏

Struts2 S2-057远程代码执行漏洞预警

  • 作者:
  • 来源:
  • 发布时间:2018-08-24
  • 点击量:

1. 安全漏洞公告

2018年8月22日,Struts2官方公布最新的STRUTS2远程代码执行漏洞S2-057,在一定条件下,该漏洞允许攻击者远程执行代码,存在高危风险。

2. 漏洞相关描述

北京时间8月22日,Struts官方公开了漏洞S2-057(CVE-2018-11776)。该漏洞可能在两种情况下被触发:

当没有为底层xml配置中定义的结果设置namespace 值,并且其上部操作配置没有namespace或通配namespace时,可能构成 RCE攻击。

当使用没有 value和action集的url标签时,并且其上层操作配置没有或通配namespace时,也可能构成 RCE 攻击。

参考链接:

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

官方评级:严重

3. 漏洞影响范围

受影响版本:Struts 2.3 - Struts 2.3.34, Struts 2.5 - Struts 2.5.16

不受影响版本:Struts 2.3.35、Struts 2.5.17

4. 漏洞缓解措施

升级struts2 2.3.35 或者 struts2 2.5.17

下载链接:

http://mirrors.hust.edu.cn/apache/struts/2.3.35/struts-2.3.35-all.zip

http://mirrors.hust.edu.cn/apache/struts/2.5.17/struts-2.5.17-all.zip

5. 漏洞检测

此漏洞产生于低版本的Struts组件,当应用系统引入相关组件时,将存在被攻击者远程攻击的风险。建议由应用开发人员排查引入组件的版本是否处于受影响范围之内。

Windows系统查看Maven配置文件pom.xml中关于组件的版本:

<dependency>

<groupId>org.apache.struts</groupId>

<artifactId>struts2-core</artifactId>

<version>2.5.34</version>

</dependency>

上述标红为当前Struts版本号。

Linux系统下可使用以下命令查找当前使用的struts2-core包,通过查看其文件名,判断当前版本:

命令:find / -name strts2-core-*.jar

查看返回结果中strts2-core-2.5.34.jar是否存在受影响版本号。

6. 参考文档

漏洞缓解说明(原文):

https://cwiki.apache.org/confluence/display/WW/S2-057?from=timeline&isappinstalled=0