漏洞概述

北京时间8月22日,Struts官方公开了漏洞S2-057(CVE-2018-11776)。该漏洞可能在两种情况下被触发:
1.当没有为底层xml配置中定义的结果设置namespace 值,并且其上部操作配置没有namespace或通配namespace时,可能构成 RCE攻击。
2.当使用没有 value和action集的url标签时,并且其上层操作配置没有或通配namespace时,也可能构成 RCE 攻击。
参考链接:
https://cwiki.apache.org/confluence/display/WW/S2-057

影响范围

受影响版本
Struts2.3 – 2.3.34
Struts2.5 – 2.5.16

不受影响版本
Struts 2.3.35
Struts 2.5.17

漏洞排查1.版本检测

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

<dependency>>
      <groupId>>org.apache.struts</groupId>>
      <artifactId>>struts2-core</artifactId>>
    <version>>2.5.13</version>>
</dependency>>

若红字所示版本在受影响范围内,则请用户尽快升级Struts2至最新版本,以保证长期有效的防护。
2.组件名检测

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

find / -name struts2-core-*.jar

若版本号在受影响范围内,则请用户尽快升级至最新版本。

漏洞防护

官方已在最新版本中修复了此漏洞,请用户尽快将Struts升级至官方修复版本,2.3.的用户请升级至2.3.35;2.5.的用户请升级至2.5.17。开发人员可通过配置Maven或Gradle的方式对应用升级并编译发布,也可手动下载最新Struts框架进行替换。
Maven配置

<!-- 
<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core   -->>
<dependency>>
      <groupId>>org.apache.struts</groupId>>
      <artifactId>>struts2-core</artifactId>>
    <version>>2.5.17</version>>
</dependency>>

Gradle配置

// 
// https://mvnrepository.com/artifact/org.apache.struts/struts2-core
compile group: 'org.apache.struts', name: 'struts2-core', version:   '2.5.17'

官方下载链接:
Struts2.3.35
http://mirrors.hust.edu.cn/apache/struts/2.3.35/struts-2.3.35-all.zip
Struts2.5.17
http://mirrors.hust.edu.cn/apache/struts/2.5.17/struts-2.5.17-all.zip

正文到此结束

本文标题:Apache Struts 2 远程代码执行漏洞(CVE-2018-11776)安全预警通告

本文链接:https://www.hantaosec.com/856.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源及链接,不带链接禁止任何转载!访问任何网络安全相关文章,则视为默认接受网络安全文章免责声明 ,请认真阅读。

喜欢我的文章吗?
别忘了点赞或赞赏,让我知道创作的路上有你陪伴。